列出所有的容器 ID

docker ps -a

CONTAINER ID   IMAGE   COMMAND        CREATED        STATUS        PORTS    NAMES
f2582758af13   ubuntu  "/bin/bash"    2 hours ago    Up 2 hours             first_ubuntu
6b5b5a969241   centos  "/bin/bash"    2 days ago     Exited (0) 24 hours ago   ubuntu-web

停止所有的容器

docker stop $(docker ps -aq)

删除单个容器

docker rm <CONTAINER ID|NAME>

删除所有的容器

docker rm $(docker ps -aq)

删除所有的镜像

docker rmi $(docker images -q)

删除所有不使用的镜像

docker image prune --force --all

或者

docker image prune -f -a

删除所有停止的容器

docker container prune

Docker容器的使用

查找busybox镜像

[root@docker-0001 ~]# docker search busybox

获取镜像

$ docker pull ubuntu

启动容器

以下命令使用 ubuntu 镜像启动一个容器,参数为以命令行模式进入该容器:

$ docker run -it ubuntu /bin/bash

参数说明:

-i: 交互式操作。
-t: 终端。 ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

要退出终端,直接输入 exit:

root@ed09e4490c57:/# exit

后台运行

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

注:加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec(下面会介绍到)。

进入容器

在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

docker attach
docker exec:推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。

attach 命令

$ docker attach 1e560fca3906 

exec 命令

docker exec -it 243c32535da7 /bin/bash

容器备份和迁移

容器保存为镜像

docker commit testmysql my_mysql

01.png

testmysql :是容器名称
my_mysql :是新的镜像名称
此镜像的内容就是你当前容器的内容,接下来你可以用此镜像再次运行新的容器

镜像备份

docker save -o my_mysql.tar my_mysql

02.png

-o 输出到的文件
执行后,运行ls命令即可看到打成的tar包

镜像恢复与迁移

1 首先 先删除掉my_mysql镜像,然后执行此命令进行恢复

docker rmi f7812895ea16

03.png

2 然后执行此命令进行恢复

docker load -i my_mysql.tar

-i :输入的文件
执行后再次查看镜像,可以看到镜像已经恢复

04.png