飞天使-docker知识点6-容器dockerfile各项名词解释

2023-12-15 11:17:41

docker的小技巧
[root@light-test playbook-vars[]# docker inspect -f "{{.NetworkSettings.IPAddress}}" d3a9ae03ae5f
172.17.0.4

docker 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"]
    脚本:
        MySQL
    
    
        RUN chmod a+x /apps/nginx/sbin/run_nginx.sh
        EXPOSE 80 443

        CMD ["/apps/nginx/sbin/run_nginx.sh"]
查看docker 网桥相关信息
yum install -y bridge-utils


bridge name	bridge id		STP enabled	interfaces
br-3c944e9ceabf		8000.0242a8cc20ff	no		veth06c3f7b
							veth08e0199
							veth59bbc2e
							veth7f7a3e8
							vethcea27a0
							vethde3f344
							vethe6fd44a
							vethf4d9827
							vethf7b502d
docker0		8000.0242fc9a1c32	no		veth3c08c2d
							vethb4f8509
							vethd37d067


docker 内部网络信息查看 iptables -t nat -nvL


文章来源:https://blog.csdn.net/startfefesfe/article/details/135005319
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。