Docker一些基本管理命令

6x7d 10年前

列出本地所有的docker镜像

docker images

输出如下,

$ sudo docker images  REPOSITORY       TAG      IMAGE ID      CREATED      VIRTUAL SIZE  training/webapp  latest   fc77f57ad303  3 weeks ago  280.5 MB  ubuntu           13.10    5e019ab7bf6d  4 weeks ago  180 MB  ubuntu           saucy    5e019ab7bf6d  4 weeks ago  180 MB  ubuntu           12.04    74fe38d11401  4 weeks ago  209.6 MB  mysql            5.6      a385835786ac 12 weeks ago  236 MB

其中REPOSITORY表示这个镜像的来源,我觉得就像git的repository,TAG的意是表示这个库的某个分支,类似于git的tag或者分支。REPOSITORY:TAG唯一确定一个镜像。

列出所有的容器

docker ps -a

列出所有的容器,包括正在运行的和已经停止的。输出如下,

root@iZ23jdsafsacnZ:~# docker ps -a  CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS                         PORTS                         NAMES  489881ae02f4        php_apache:gdm3     apache2 -DFOREGROUND   About an hour ago   Up About an hour               0.0.0.0:85->80/tcp            weixin2               34761cba2440        php_apache:gdm3     apache2 -DFOREGROUND   21 hours ago        Up 21 hours                    0.0.0.0:8009->80/tcp          test_mcr              e8728df17726        php_apache:gdm2     apache2 -DFOREGROUND   23 hours ago        Up 23 hours                    0.0.0.0:99->80/tcp            fuck2                 00427d753da5        php_apache:gdm2     apache2 -DFOREGROUND   24 hours ago        Exited (0) 23 hours ago                                      fuck                  31ca931ae6bc        php_apache:gdm2     apache2 -DFOREGROUND   28 hours ago        Up 28 hours                    0.0.0.0:86->80/tcp            gudong86              ddd71d335287        php_apache:gdm2     apache2 -DFOREGROUND   30 hours ago        Exited (0) 28 hours ago                                      gudong                ee0a47e92e96        php_apache:gdm2     apache2 -DFOREGROUND   3 weeks ago         Up 3 weeks                     0.0.0.0:8085->80/tcp          zhongsheng            4516faf36471        php_apache:gdm2     apache2 -DFOREGROUND   4 weeks ago         Exited (0) 4 weeks ago                                       weidian_dev

其中NAMES表示容器的名称,操作容器很有用。

从镜像创建一个容器并启动

docker run -d -p 85:80 -v /var/www/html/site1:/var/www/html --name site1 php_apache:gdm3

其中 -v /var/www/html/site1:/var/www/html 表示把host主机的/var/www/html/site1目录挂载到容器的/var/www/html目录。-p 85:80表示把host主机的85端口映射到空口的80端口。–name site1表示把这个空口的名称定为site1.

停止一个容器

docker stop container_name

container_name表示空口的名称,可以通过docker ps -a输出的NAMES字段获得。

删除一个容器

docker rm container_name

container_name表示空口的名称,可以通过docker ps -a输出的NAMES字段获得。

启动一个已经存在的容器

docker start container_name

container_name表示空口的名称,可以通过docker ps -a输出的NAMES字段获得。

重启一个容器

docker restart container_name

查看一个容器的log

docker logs -f container_name

删除镜像

docker rmi REPOSITORY