Docker命令教程

请列出Docker的基本操作方法。尽管尝试使用图形界面工具,但命令行界面(CLI)的操作仍然更加有效,因此推荐使用CLI。在处理Docker时,必须理解的关键概念是”镜像”和”容器”。

1. 基本操作

图像搜索

在DockerHub上使用关键词搜索镜像。

  $ docker search centos
  NAME                           DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
  centos                         The official build of CentOS.                   3500      [OK]       
  jdeathe/centos-ssh             CentOS-6 6.9 x86_64 / CentOS-7 7.3.1611 x8...   77                   [OK]

获取图像

获取图像名称:指定标签名称。如果未指定标签名称,则附加“latest”标签。

  $ docker pull centos:latest
  latest: Pulling from library/centos
  d5e46245fe40: Pull complete 
  Digest:sha256:aebf12af704307dfa0079b3babdca8d7e8ff6564696882bcb5d11f1d461f9ee9
  Status: Downloaded newer image for centos:latest

显示保存在电脑上的图像。

  $ docker images
  REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
  centos                        latest              3bee3060bfc8        12 days ago         193 MB

删除在电脑上保存的图像。

  $ docker rmi 3bee3060bfc8
  Untagged: centos:latest
  Untagged: centos@sha256:aebf12af704307dfa0079b3babdca8d7e8ff6564696882bcb5d11f1d461f9ee9
  Deleted: sha256:3bee3060bfc81c061ce7069df35ce090593bda584d4ef464bc0f38086c11371d
  Deleted: sha256:dc1e2dcdc7b6ff86d785fa16cf97464d263d04346a191c57b5ca8a66b4155861

启动图像

当使用方法1进行退出时,容器会终止。而使用方法2进行退出时,容器不会终止。需要注意的是,即使使用方法1,通过“Ctrl+p,Ctrl+q”也可以从容器中退出而不终止容器。

以下用中文进行本地化的释义方法,只需要提供一种选择:方法1。

Please provide the original English sentence that you want me to paraphrase in Chinese.

  $ docker run -it centos:latest /bin/bash
  [root@2fe147e75dc9 /]# uname -a
  Linux 2fe147e75dc9 4.9.27-moby #1 SMP Thu May 11 04:01:18 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
  [root@2fe147e75dc9 /]# cat /etc/redhat-release 
  CentOS Linux release 7.3.1611 (Core)

第二种方法

  $ docker run -itd centos:latest
  4a82a4ec72bf1b28b2abe84da1b4995c23cf4aa74f32364bb3e81d75db14dd45

确认正在运行的容器

  $ docker ps
  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  5c304f72c6d6        centos:latest       "/bin/bash"         3 minutes ago       Up 3 minutes               

停止正在运行的容器

  $ docker stop 5c304f72c6d6
  5c304f72c6d6

重新启动正在运行的容器

  $ docker ps
  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  048697b53b77        centos:latest       "/bin/bash"         19 seconds ago      Up 16 seconds                           lucid_franklin

  $ docker restart 048697b53b77
  048697b53b77

  $ docker ps
  CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
  048697b53b77        centos:latest       "/bin/bash"         About a minute ago   Up 9 seconds                            lucid_franklin

连接到容器

如果以容器作为版本,请参考第5个介绍的图像。第一种方法是退出时容器会停止,因此需要使用“Ctrl+p, Ctrl+q”进行退出。第二种方法是即使退出,容器也不会停止。

1. 第一种方法


  $ docker attach 048697b53b77

第二种方法


  $ docker exec -it 82f647b208ea /bin/bash
  [root@82f647b208ea /]# exit
  exit

  $ docker ps
  CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
  82f647b208ea        centos:latest       "/bin/bash"         30 seconds ago      Up 28 seconds                           nifty_wright

2. 一些稍微复杂的操作

端口映射

基本 – 最基础的


  $ docker run -d -p 8080:80 <image_name> -it /bin/bash

只需指定IP地址。 (Zhǐ xū IP .)

  $ docker run -d -p 192.168.0.219:8080:80 <image_name>

音量映射

  $ docker run -d -v /tmp/:/mnt/ <image_name>

将容器映像化

  $ docker commit <Container ID> <image_name>:<tag>

启动一个实用图像的方法

  $ docker run -it -p 8000:8000 -v /tmp/006_log/01_arena/:/var/log/cowrie/ splunk:latest

将图像导出为图片

  $ docker save <image_name>:<tag_name> > <filename>
  $ docker save --output <filename> <image_name>:<tag_name>
  $ docker save -o <filename> <image_name>:<tag_name>

图像的导入 de


  $ docker load < <filename>
  $ docker load --input <file_name>
bannerAds