一、新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
由于启动命令太多了,我们就选取几个常用的进行演示
[OPTIONS] 常用值
--name="容器新名字": 为容器指定一个别名
-d: 后台运行容器,并返回容器ID,也即启动守护式容器
-i:以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
-P(大写 P): 随机端口映射
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort (推荐)
containerPort
1、启动 centos 镜像
下面两条命令是等价的
docker run -it --name=mycentos centos:centos7.9.2009
docker run -it --name=mycentos centos:centos7.9.2009 /bin/bash
2、交互模式 / 后台模式启动 tomcat
// 交互模式启动 tomcat
docker run -it --name tomcat01 -p 8088:8080 tomcat:8.5.61-jdk8-corretto
// 后台模式启动 tomcat
docker run -d --name=tomcat02 -p 8089:8080 tomcat:8.5.61-jdk8-corretto
启动信息如下:
二、列出正在运行的容器
docker ps [OPTIONS]
-a :列出当前所有正在运行的容器 + 历史上运行过的
-l :显示最近创建的容器
-n :显示最近n个创建的容器
-q :静默模式,只显示容器编号
-s :显示容器大小
--no-trunc : 不截断输出
三、进入正在启动的容器
docker exec -it 容器 ID /bin/bash
四、退出容器客户端
// 方式一、退出容器客户端,并且关闭容器
exit
// 方式二、退出容器客户端,不关闭容器
CTRL + P + Q
五、启动容器
当然也可以使用下列命令启动全部的容器
docker start $(docker ps -aq)
六、关闭容器
关闭容器和启动容器相似,可以关闭一个,也可以关闭多个,也可以批量关闭
当然也可以使用下列命令强制关闭容器
docker kill 容器ID或者容器别名
七、删除已停止容器
八、其它重要命令
1、查看容器日志
docker logs -f -t --tail 显示行数 容器ID
-t: 加入时间戳
-f: 跟随最新的日志打印
-n 500: 显示 500 行
2、查看容器内的进程
docker top 容器 ID
3、查看容器内的细节
docker inspect 容器 ID
以 json 串的形式显示容器的信息
4、容器和主机之间文件交互
从容器中拷贝文件到主机
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH
5、从宿主机拷贝文件到容器中
docker cp [OPTIONS] SRC_PATH CONTAINER:DEST_PATH
九、总结
常用命令总结
// 当前 shell 下 attach 连接指定运行镜像
attach Attach to a running container
// 通过 Dockerfile 定制镜像
build Build an image from a Dockerfile
// 提交当前容器为新的镜像
commit Create a new image from a container changes
// 从容器中拷贝指定文件或者目录到宿主机中
cp Copy files/folders from the containers filesystem to the host path
// 创建一个新的容器,同 run,但不启动容器
create Create a new container
// 查看 docker 容器变化
diff Inspect changes on a container's filesystem
// 从 docker 服务获取容器实时事件
events Get real time events from the server
// 在已存在的容器上运行命令
exec Run a command in an existing container
// 导出容器的内容流作为一个 tar 归档文件[对应 import ]
export Stream the contents of a container as a tar archive
// 展示一个镜像形成历史
history Show the history of an image
// 列出系统当前镜像
images List images
// 从tar包中的内容创建一个新的文件系统映像[对应export]
import Create a new filesystem image from the contents of a tarball
// 显示系统相关信息
info Display system-wide information
// 查看容器详细信息
inspect Return low-level information on a container
// kill 指定 docker 容器
kill Kill a running container
// 从一个 tar 包中加载一个镜像[对应 save]
load Load an image from a tar archive
// 注册或者登录一个 docker 源服务器
login Register or Login to the docker registry server
// 从当前 Docker registry 退出
logout Log out from a Docker registry server
// 输出当前容器日志信息
logs Fetch the logs of a container
// 查看映射端口对应的容器内部源端口
port Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
// 暂停容器
pause Pause all processes within a container
// 列出容器列表
ps List containers
// 从 docker 镜像源服务器拉取指定镜像或者库镜像
pull Pull an image or a repository from the docker registry server
// 推送指定镜像或者库镜像至docker源服务器
push Push an image or a repository to the docker registry server
// 重启运行的容器
restart Restart a running container
// 移除一个或者多个容器
rm Remove one or more containers
// 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
rmi Remove one or more images
// 创建一个新的容器并运行一个命令
run Run a command in a new container
// 保存一个镜像为一个 tar 包[对应 load]
save Save an image to a tar archive
// 在 docker hub 中搜索镜像
search Search for an image on the Docker Hub
// 启动容器
start Start a stopped containers
// 停止容器
stop Stop a running containers
// 给源中镜像打标签
tag Tag an image into a repository
// 查看容器中运行的进程信息
top Lookup the running processes of a container
// 取消暂停容器
unpause Unpause a paused container
// 查看 docker 版本号
version Show the docker version information
// 截取容器停止时的退出状态值
wait Block until a container stops, then print its exit code