
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
一般自建镜像,都会在最后输出日志到终端(使用docker logs 查看的日志就是这个前台进程的终端输出),从而占领终端,保持容器运行。指定容器启动时,执行指令,前台运行进程,保持容器运行。没有前台进程存在,容器启动后就会立即退出。
查看相应数据卷详细信息:docker volume inspect volume_name。具名挂载:docker run -d --rm --name unanony -P。匿名挂载:docker run -d --rm --name anony -P。可以先创建一个容器,把容器中的相关文件复制到宿主机中,在重新创建启动容器并挂载。查看挂载点目录,能够看到相应的文件(容器中的文件被同步到宿主机)
上面命令运行时,默认会在构建上下文中寻找Dockerfile名称的文件用于构建,也可以通过 -f 指定Dockerfile文件;复制宿主机内文件,都是基于这个构建上下文,且需要使用相对路径。Dockerfile中COPY或ADD指令,仓库地址/用户或组织名/仓库名:tag。(这里是当前目录);
RUN ["/bin/bash","-c","mkdir /three && cd /three && touch 3.txt"],其实也是执行一个命令,执行bash命令。shell模式:RUN cd / && mkdir data .......exec模式:RUN ["mkdir","-p","/data/exec"]
容器间通信,docker0充当桥梁(交换机,根据MAC地址表直接通信),所有容器(加入docker0网络的容器)连接在它上面,它们之间通信就像是连接在一台交换机上的同网段主机一样;容器访问外网,则需要nat转换(SNAT,源地址转换),此时docker0是网关(路由器,根据路由表进行转发);观察发现,容器和宿主机中,是对称出现的,例如:8->7和7->8,它们像管道一样连接起来,可以直接通信;外网
如果不想配置成环境变量,也可直接指定PATH变量的值:export PATH=/usr/local/java/jdk-21.0.11/bin:$PATH。这是java版本不对引起的错误,新版的jenkins要求使用jdk21。使用jar命令直接运行jekins的war包,应该是不会出现上述错误的。观察日志发现,使用的是java命令,会去PATH路径中寻找执行文件。在日志上方,发现PATH与服务器不








