拉取镜像

示例

docker pull python:3.7

查看镜像

docker images ps

把镜像启动为容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常见示例:

docker run -itd --name aminglinux -v /data:/data -p 5000:5000 centos

docker run 参数说明:

-i        # 以交互模式运行容器,通常与-t同时使用
-t        # 为容器分配一个终端(tty),通常与-i同时使用
-d        # 以守护进程(daemon)的方式运行容器并打印容器ID
-p        # 用于把容器的端口映射到宿主机上,用法如:docker run -d -p 5000:5000 centos 表示把容器的5000端口映射到宿主机的5000端口,左边是宿主机监听端口,右边是容器监听端口
-v        # 用于把容器的数据卷映射到宿主机上,用法如:docker run -itd -v /data:/data centos bash 表示把容器的/data目录映射到宿主机的/data目录,左边是宿主机的目录,右边是容器里的目录,详细用法
--name    # 自定义容器名

进入容器命令

方式一:

docker attach 44fc0f0582d9

这种方式有缺点,当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。

方式二:

docker exec -it 44fc0f0582d9 /bin/bash

如果出现 OCI runtime exec failed: exec failed: container_linux.go:345: starting container process caused “exec: “/bin/bash”: stat /bin/bash: no such file or directory”: unknown 错误,尝试:

docker exec -it 44fc0f0582d9 /bin/sh

启动所有的容器命令

docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

关闭所有的容器命令

docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有的容器命令

docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

删除所有的镜像

docker rmi $(docker images | awk '{print $3}' |tail -n +2)