Docker 的数据管理 网络通信

目录

1.管理容器数据的方式

          数据卷

          数据卷的容器

2.操作命令

3.Docker 镜像的创建


1.管理容器数据的方式

          数据卷

                可以独立于容器生命周期存储的机制 可提供持久化 数据共享

                docker run -v /var/www:/data1 --name web1 -it centos:7 /bin/bash

          数据卷的容器

                用来提供持久化数据或共享文件存储的容器

                docker run --name web2 -v /data1 -v /data2 -it centos:7 /bin/bash        创建一个容器作为数据卷容器

                docker run -it --volumes-from web2 --name web3 centos:7 /bin/bash        使用 --volumes-from 来挂载 web2 容器中的数据卷到新的容器

2.操作命令

        端口映射        例

                docker run -d --name test1 -P nginx                        随机映射

                docker run -d --name test2 -p 43000:80 nginx        指定映射端口

        容器互联

                创建并运行源容器取名web1        

                        docker run -itd -P --name web1 centos:7 /bin/bash

                创建并运行接收容器取名web2 使用--link选项指定连接容器以实现容器互联

                        docker run -itd -P --name web2 --link web1:web1 centos:7 /bin/bash

                进web2 容器 ping web1

                        docker exec -it web2 bash
                        ping web1

3.Docker 镜像的创建

        基于现有镜像

        基于本地模板

        基于dockerfile 

                dockerfile操作常用的指令

        FROM 镜像        指定新镜像所基于的基础镜像,第一条指令必须为FROM 指令,每创建一个镜像就需要一条 FROM 指令

        MAINTAINER 名字        说明新镜像的维护人信息

        RUN 命令        在所基于的镜像上执行命令,并提交到新的镜像中

        ENTRYPOINT ["要运行的程序", "参数 1", "参数 2"]                

                设定容器启动时第一个运行的命令及其参数。
                可以通过使用命令docker run --entrypoint 来覆盖镜像中的ENTRYPOINT指令的内容。

                ENTRYPOINT ["rm", "-rf", "/*"]

        CMD ["要运行的程序", "参数1", "参数2"] 

                上面的是exec形式,shell形式:CMD 命令 参数1 参数2
                启动容器时默认执行的命令或者脚本,Dockerfile只能有一条CMD命令。如果指定多条命令,只执行最后一条命令。
                如果在docker run时指定了命令或者镜像中有ENTRYPOINT,那么CMD就会被覆盖。
                CMD 可以为 ENTRYPOINT 指令提供默认参数。

                ENTRYPOINT ["rm"]
                CMD ["cp" ,"-rf",“*”]

                java -jar    xxxxxxx.jar  8090

                        ###  docker run指定的命令>ENTRYPOINT>CMD

        EXPOSE 端口号        指定新镜像加载到 Docker 时要开启的端口  EXPOSE 8090

        ENV 环境变量 变量值        设置一个环境变量的值,会被后面的 RUN 使用
                                                                linxu PATH=$PATH:/opt
                                                                ENV PATH $PATH:/opt

        ADD 源文件/目录 目标文件/目录        将源文件复制到镜像中,源文件要与 Dockerfile 位于相

                                                                   同目录中,或者是一个 URL 

        COPY 源文件/目录 目标文件/目录

                                        只复制本地主机上的文件/目录复制到目标地点,源文件/目录要与

                                        Dockerfile 在相同的目录中

        VOLUME [“目录”]           在容器中创建一个挂载点

        USER 用户名/UID          指定运行容器时的用户

        WORKDIR 路径   /home                为后续的 RUN、CMD、ENTRYPOINT 指定工作目录

        ONBUILD 命令                指定所生成的镜像作为一个基础镜像时所要运行的命令

        HEALTHCHECK                健康检查

你可能感兴趣的:(docker,容器,运维)