Docker容器的使用

本文最后更新于:2022年6月1日 下午

①容器状态

查看所有的容器命令(常用)

1
# docker ps -a

显示Docker的状态(例如top的样式)

1
# docker stats

②容器镜像

列出主机镜像列表

参数 注释
REPOSITORY 表示镜像的仓库源
TAG 镜像的标签
IMAGE ID 镜像ID
CREATED 镜像创建时间
SIZE 镜像大小
1
# docker images
  • 同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,我们使用 REPOSITORY:TAG 来定义不同的镜像
  • 例如:使用版本为15.10的ubuntu系统镜像来建容器
    1
    # docker run -it ubuntu:15.10 /bin/bash 

    拉取镜像(例如Ubuntu 13.10)

    1
    # docker pull ubuntu:13.10

    查找容器

  • 可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/
  • 也可以使用 docker search 命令来搜索镜像,例如搜索nginx
    1
    # docker search nginx

导出/导入docker镜像(重要:两种方法不可混用)

使用 export 和 import (import可以为镜像指定新名称)

1. export 从容器导出镜像

1
# docker export "CONTAINER ID/IMAGE" > docker_test.tar

2. import 从tar包导入镜像(import不支持多个镜像打包到一个文件)

1
# docker import - test_dockerserver < docker_test.tar

使用 save 和 load (load 不能对载入的镜像重命名)

1. save 从容器保存镜像

1
# docker save "CONTAINER ID/IMAGE" > docker_test2.tar

2. 将多个 image 打包成一个文件,比如下面将镜像库中的 postgres 和 mongo 打包(save支持多个镜像打包到一个文件)

1
# docker save -o docker_test2.tar postgres:9.6 mongo:3.4

3. load 从tar包导入镜像

1
# docker load < docker_test2.tar

③新建容器

用下载好的Ubuntu镜像,新建一个Docker并进入,退出输入 exitctl+d

参数 注释
-i 交互式操作
-t 终端
ubuntu 镜像
/bin/bash 放在镜像名后是命令,这里启动交互式 Shell,因此用 /bin/bash
1
# docker run -it ubuntu /bin/bash 

新建容器并且后台运行

参数 注释
-i 交互式操作
-t 终端
-d 指定容器后台运行
–name 指定docker的name
ubuntu 镜像
/bin/bash 放在镜像名后是命令,这里启动交互式 Shell,因此用 /bin/bash
1
2
3
# docker run -itd --name test ubuntu /bin/bash

注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec

新建一个指定端口的容器

参数 注释
–name 指定docker的name
-d 指定容器后台运行
-p 映射端口(主机端口:容器内部端口)
ubuntu 镜像
1
# docker run --name test -d -p 1234:80 ubuntu

④启动容器(id或者name都可以用)

启动一个关闭的容器

1
# docker start "CONTAINER ID/NAMES"

停止一个运行的容器

1
# docker stop "CONTAINER ID/NAMES"

停止的容器可以用restart重启

1
# docker restart "CONTAINER ID/NAMES"

⑤进入容器(需要先启动容器)

attach (注意:如果从这个容器退出,容器”会停止”)

1
# docker attach "CONTAINER ID/NAMES"

exec (注意:如果从这个容器退出,容器”不会停止”)

1
# docker exec -it "CONTAINER ID/NAMES" /bin/bash

⑥删除容器(id或者name都可以用)

指定删除一个容器

1
# docker rm -f "CONTAINER ID/NAMES"

删除所有停止的(没在运行的)容器

1
# docker container prune

Docker容器的使用
https://simple2ich4n.top/64559/
作者
2ich4n
发布于
2021年10月16日
更新于
2022年6月1日
许可协议