最近实在是忙得不可开交!接着叨叨吧!

1、运行容器


创建容器

         前面我们已经拉取到了镜像文件,现在就开始创建容器。根据上文中 docker images 中拉取的镜像文件,我现在创建一个Ubuntu镜像的容器。

   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker images
   REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
   ubuntu_eth_env      v2                  86abaff4a6d8        3 weeks ago         3.06GB
   eth_ubuntu_env      v1                  b06cd31952bc        4 weeks ago         2.98GB
   ubuntu              latest              f975c5035748        8 weeks ago         112MB
   java                latest              d23bdf5b1b1b        15 months ago       643MB
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker run -i -t ubuntu /bin/bash 
   root@8cf301559dfa:/# 

         执行 docker run 就创建了一个具有ubuntu 环境的容器。
         接下来你就可以在这个容器中搭建你想要的环境。如果你担心你搭建的容器不小心删掉,那你可以搭建好你想要的环境之后提交这个环境的镜像。

启动和停止容器

   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker ps -a
   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
   c4dcde03db64        86abaff4a6d8        "/bin/bash"         2 weeks ago         Exited (0) 19 seconds ago                       eager_liskov
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker start c4dcde03db64
   c4dcde03db64
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker ps
   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                                                  NAMES
   c4dcde03db64        86abaff4a6d8        "/bin/bash"         2 weeks ago         Up 4 seconds        8080/tcp, 0.0.0.0:2020->22/tcp, 0.0.0.0:8080->80/tcp   eager_liskov
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker stop c4dcde03db64
   c4dcde03db64
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ 

删除容器

   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker ps -a
   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
   8cf301559dfa        ubuntu              "/bin/bash"         About an hour ago   Exited (0) 34 minutes ago                       friendly_brown
   c4dcde03db64        86abaff4a6d8        "/bin/bash"         2 weeks ago         Exited (127) 2 weeks ago                        eager_liskov
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker rm 8cf301559dfa
   8cf301559dfa

2、镜像处理


更新镜像

         在容器中安装好环境之后退出该容器,执行docker commit 命令提交镜像

   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker ps -a
   CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
   8cf301559dfa        ubuntu              "/bin/bash"         22 minutes ago      Exited (0) 57 seconds ago                       friendly_brown
   c4dcde03db64        86abaff4a6d8        "/bin/bash"         2 weeks ago         Exited (127) 2 weeks ago                        eager_liskov
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker commit -m="updata-ubuntu" -a="pengxiankaikai" 8cf301559dfa pk/ubuntu:v1
   sha256:856b74b67fa6de44930448d2a4b3205b173279fd89c7668b4352bbf77de5512e
   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ 

         — -m 跟git提交时一样,需要提交信息
         — -a 指定作者
         — 8cf301559dfa 提交的容器id
         — pk/ubuntu:v1 提交的镜像名称和版本号

删除镜像

         镜像提交成功之后通过 docker images 就能查看到刚刚提交的镜像;如果不想要哪个镜像,可通过明明docker rmi 删除。

   pengxiankaikaideMacBook-Pro:~ pengxiankaikai$ docker rmi 856b74b67fa6
   Untagged: pk/ubuntu:v1
   Deleted: sha256:856b74b67fa6de44930448d2a4b3205b173279fd89c7668b4352bbf77de5512e
   Deleted: sha256:a06b0608ea90f2fd1ed5a9aab79317015641ef453c0cb077e9f1e9af45bebd24

3、端口映射

         绑定端口到指定接口

   docker run -it -p 8080:80 -p 22:22 container_name ubuntu:14.04 /bin/bash

4、挂载宿主文件

   docker run -it -v /share:/usr/local/myshare --name container_name ubuntu:14.04 /bin/bash

ending…