docker常用命令

1、 服务启动

  •         systemctl start docker

2、帮助命令

  •         docker version
  •         docker info
  •         docker --help

3、镜像命令

  •         docker images
  •         docker search xxx
  •         docker pull xxx
  •         docker rmi -f xxx

4、容器命令

        新建并启动容器

  •         docker run  [OPTIONS]   镜像  [COMMAND]

                             eg:  docker run -it centos /bin/bash   

                            OPTIONS说明; -i:以交互模式运行容器,通常与 -t 同时使用;

                                                       -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;

                                                       -d: 后台运行容器,并返回容器ID,也即启动守护式容器;

                                                       -p: 指定端口映射,eg: 

                                                                                         (tomcat) docker run -d -p 7788:8080  tomcat

                           (mysql)docker run --name=mysql -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abcd123 mysql

                                                                                         (mysql)docker exec -it MySQL运行成功后的容器ID     /bin/bash

                                                               -e      MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

                          COMMAND说明;/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash

        列出正在运行的容器:

  •         docker ps   [OPTIONS]  

                            OPTIONS说明 ;-a :列出当前所有正在运行的容器+历史上运行过的

                                                      -q :静默模式,只显示容器编号。

        退出容器:

  •         exit

        启动容器:

  •         docker start  容器名称或者容器id

        重启容器

  •         docker restart  容器名称或者容器id

        停止容器

  •         docker stop  容器名称或者容器id

        强制停止容器

  •         docker  kill    容器名称或者容器id  

        删除已经停止的容器

  •         docker rm 容器id

         查看容器内运行的进程   

  •         docker top  容器id

         查看 Docker 的底层信息

  •          docker inspect  容器id

        进入正在运行的容器并以命令交互

  •         docker exec   -it 容器id  /bin/bash     此退出(exit)容器终端,不会导致容器的停止
  •         docker  attach  容器id           

5、docker容器数据卷

        容器内添加数据卷(通过命令)

        -v 卷:volume

  •         docker run -it -v /宿主机目录(执行命令时自动新建):/容器内目录 (执行命令时自动新建)镜像 /bin/bash
  •         docker run -it -v /宿主机目录(新建):/容器内目录 (新建) ro  镜像 /bin/bash     设置容器为只读权限

        查看数据卷是否挂载成功

  •         docker inspect 容器ID

        容器和宿主机之间数据共享官,容器停止退出后,主机修改后数据同步

        容器内添加数据卷(dockerFile添加):

                                                                       1、根目录 下新建mytest文件并进入    mkdir mytest

                                                                       2、 vim Dockerfile    使用VOLUME指令来给镜像添加—个或多个数据卷

                       (代码是创建dataVolumeContainer1、dataVolumeContainer2两个文件:)

                                                                                                                                                         # volume test

                                                                                                                                                         FROM centos

                                                                                                                                                         VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]

                                                                                                                                                         CMD echo "finished,--------success1"

                                              CMD /bin/bash   

                    3、 创建镜像    build后生成一个新镜像  docker build -f /mytest/Dockerfile -t xxxx/centos .          {!!!最后有一个点!!!}


                                                                                                                           

                     -f :指定要使用的Dockerfile路径

                       -t: 创建镜像的名字

                                                                     操作在容器中的卷,可以在主机的路径下查看,以此共享数据

5.1、数据卷容器

        命名的容器挂载数据卷,其它容器通过挂载这个(父容器)实现数据共享,挂载数据卷的容器,称之为数据卷容器。

        eg:1、先启动一个容器dc01,在dataVolumeContainer2中添加文件数据

      docker run -it --name doc1  xxxx/centos

           2、dc02/dc03继承自dc01        命令:--volumes-from   

                     docker run -it --name dc02--volumes-from dc01 xxxx/centos   可以在dc01中看到dataVolumeContainer2添加的文件数据   do03同理

      若在dc02或者dc03修改文件在dc01中同样可以看到。

      3、dc01被rm -f 之后,修改dc02的数据,dc03仍能访问

      容器之间配置信息的传递,数据卷的生命周期一直持续到没有容器使用它为止

6、dockerfile具体解析

        

          

                                            

                     

 

posted @ 2021-02-19 15:19  8ling1ling  阅读(48)  评论(0)    收藏  举报