文章目录 docker的小技巧 dockerfile 容器为什么会出现启动了不暂停 查看docker 网桥相关信息 docker 数据卷
docker的小技巧
[root@light-test playbook-vars[]# docker inspect -f "{{.NetworkSettings.IPAddress}}" d3a9ae03ae5f
172.17.0.4docker d3a9ae03ae5f:/etc/hosts .
将容器里面的文件拷贝出来,只适合临时使用
dockerfile
FROM centos:7.6.1810 #在整个dockfile文件中,除了注释之外的第一行,要是from,用于指定父镜像ADD #用于添加宿主机本地的文件、目录、压缩等资源到镜像里面去,会自动解压tar.gz格式的压缩包,不会自动解压zip
MAINTAINER #(镜像的作者信息)
LABEL #设置镜像的属性标签COPY #用于添加宿主机本地的文件、目录、压缩等资源到镜像里面去,不会解压任何压缩包ENV #设置容器环境变量
USER nginx #指定运行操作的用户
RUN yum install vim unzip -y && cd /etc/nginx #执行shell命令,但是一定要以非交互式的方式执行
VOLUME #定义volume
WORKDIR #用于定义工作目录EXPOSE 80 #生命要把容器的某些端口映射到宿主机CMD #镜像启动为一个容器时候的默认命令或脚本, CMD ["/bin/bash"]
ENTRYPOINT #也可以用于定义容器在启动时候默认执行的命令或者脚本,如果是和CMD命令混合使用的时候,会将CMD的命令当做参数传递给ENTRYPOINT后面的脚本,可以在脚本中对参数做判断并相应的容器初始化操作。ENTRYPOINT ["top", "-b"] == ENTRYPOINT ["top", "-b", "-c"]CMD ["-c"]["docker-entrypoint.sh"]
CMD ["mysqld"]ENTRYPOINT ["docker-entrypoint.sh","mysqld"]ENTRYPOINT(脚本) + CMD(当做参数传递给ENTRYPOINT)
容器为什么会出现启动了不暂停
在一个容器里,要有一个能在容器tty的前端执行的进程命令 tail -f tail -f /etc/hosts服务进程Nginx daemon off;CMD ["/apps/nginx/sbin/nginx"]脚本:MySQLRUN chmod a+x /apps/nginx/sbin/run_nginx.shEXPOSE 80 443CMD ["/apps/nginx/sbin/run_nginx.sh"]
查看docker 网桥相关信息
yum install -y bridge-utilsbridge name bridge id STP enabled interfaces
br-3c944e9ceabf 8000.0242a8cc20ff no veth06c3f7bveth08e0199veth59bbc2eveth7f7a3e8vethcea27a0vethde3f344vethe6fd44avethf4d9827vethf7b502d
docker0 8000.0242fc9a1c32 no veth3c08c2dvethb4f8509vethd37d067docker 内部网络信息查看 iptables -t nat -nvL
docker 数据卷