Docker 学习笔记 - Docker 容器命令汇总

一、概念

容器是 Docker 的另一个核心概念。简单来说,容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层。

如果认为虚拟机是模拟运行的一整套操作系统(包括内核、应用运行态环境和其他系统环境)和跑在上面的应用,那么 Docker 容器就是独立运行的一个(或一组)应用,以及它们必须的运行环境。

下面总结了常用的容器相关命令。

二、查看容器

查看容器信息相关命令,下面会用到:

docker ps        列出所有启动状态的容器
docker ps -a     列出所有容器
docker ps -qa    列出所有容器 ID

三、创建容器

1. 新建容器

使用 docker create 命令新建一个容器,会产生容器 ID,例如:

$ docker create -it ubuntu:latest
ba8bc0e5995e56a76ae0361687316ce6062247752c6754d2b16bc135e306233f

使用 docker create 命令新建的容器处于停止状态,我们可以使用 docker ps -a 查看:

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS              PORTS               NAMES
ba8bc0e5995e        ubuntu:latest       "/bin/bash"         About a minute ago   Created                                 brave_engelbart 

2. 启动容器

使用 docker start 命令来启动一个已经创建的容器,例如启动刚创建的 ubuntu 容器(使用上面产生的容器 ID):

$ docker start ba8b
ba8b

再用 docker ps 查看,可以看到该容器处于启动状态:

$ docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
ba8bc0e5995e        ubuntu:latest       "/bin/bash"         18 minutes ago      Up 10 minutes                           brave_engelbart

3. 新建并启动容器

使用 docker run 可以直接新建并启动容器:

$ docker run ubuntu:latest /bin/echo 'Hello World'
Hello World

使用 -t 参数将启动一个 bash 终端,允许用户交互:

$ docker run -it ubuntu:latest /bin/bash
root@976214c9686c:/#

有时需要让 Docker 容器在后台以守护态形式运行,可以通过添加 -d 参数来实现。

四、终止容器

使用 docker stop 命令来终止一个运行中的容器。例如终止上面的 ba8b 容器:

$ docker stop ba8b
ba8b

五、进入容器

使用 docker exec 命令可以进入一个启动状态的容器中,例如下面启动 ba8b 容器并进入:

$ docker start ba8b
ba8b
$ docker exec -it ba8b /bin/bash
root@ba8bc0e5995e:/# 

六、删除容器

使用 docker rm 命令可以删除处于终止或退出状态的容器,该命令格式为:

$ docker rm [OPTIONS] CONTAINER [CONTAINER...]

选项为:

-f, --force     强行终止并删除运行中的容器
-l, --link      删除容器的连接
-v, --volumes   删除容器挂载的数据卷

例如强制删除运行中的 ba8b 容器:

$ docker rm -f ba8b
ba8b

七、导出和导入容器

1. 导出容器

使用 docker export 可以导出容器到文件,不管此时容器处于什么状态。

下面导出一个容器 ID 为 fd15 的容器到文件:

$ docker export -o test1.tar fd15

也可以:

$ docker export fd15 > test2.tar

2. 导入容器

导出的文件又可以使用 docker import 命令导入变成镜像,下面将导出的 test1.tar 文件导入到本地镜像库中:

$ docker import test1.tar  yanlongma/ubuntu:20171030

本文为博主学习笔记,首发于马燕龙个人博客,欢迎分享,转载请标明出处。
马燕龙个人博客:https://www.mayanlong.com
马燕龙个人微博:http://weibo.com/imayanlong
马燕龙Github主页:https://github.com/yanlongma

标签: docker

不错,不错,对我有帮助! 我要打赏他!GO ->

添加新评论