文章目录
- 容器命令
- 创建并启动容器
- 列举运行的容器
- 退出容器命令
- 启动容器
- 重启容器
- 停止容器
- 强制停止容器
- 删除容器
- 常用其他命令
- 后台启动容器
- 查看运行日志
- 查看容器中的进程信息
- 查看容器或镜像的元数据
- 进入当前正在运行的容器
- 从容器内拷贝文件到主机上
容器命令
说明:有镜像才能创建容器。
下面我们来下载一个CentOS镜像来测试。
docker pull centos
创建并启动容器
创建并启动一个容器的命令
docker run [OPTIONS] IMAGE [COMMAND]
OPTIONS中的一些参数
options | 说明 |
---|---|
--name | “容器新名字”: 为容器指定一个名称 |
-d | 后台运行容器,并返回容器ID,也即后台启动容器 |
-i | 以交互模式运行容器,通常与 -t 同时使用 |
-t | 为容器重新分配一个伪输入终端,通常与 -i 同时使用 |
-P: | 随机端口映射 |
-p | 指定端口映射,比如:-p 8080:8080,有以下四种格式: -p ip:主机端口:容器端口 -p 主机端口:容器端口 (常用) -p 容器端口 容器端口 |
启动并进入容器:
docker run -it centos /bin/bash
列举运行的容器
我们要查看当前正在运行的容器有哪些,可以通过ps命令来查看
docker ps [OPTIONS]
OPTONS中的一些参数
OPTIONS | 说明 |
---|---|
-a | 列出当前所有正在运行的容器+历史上运行过的容器 |
-l | 显示最近创建的容器 |
-n | 显示最近n个创建的容器 |
-q | 静默模式,只显示容器编号 |
–no-trunc | 不截断输出 |
退出容器命令
我们启动了一个容器后,如何退出容器?可以使用exit命令,也可以使用快捷键Ctrl+P+Q。
exit
退出方式 | 说明 |
---|---|
exit | 容器停止退出 |
Ctrl+P+Q | 容器不停止退出 |
启动容器
docker start 容器ID或者名称
重启容器
docker restart 容器ID或者名称
停止容器
docker stop 容器ID或者名称
强制停止容器
docker kill 容器ID或者名称
删除容器
有时候容器使用完就没有作用了,如果我们想要删除掉容器,这时可以通过rm命令
docker rm 容器ID #删除指定的容器,不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq) #强制删除所有的容器
docker ps -a -q | xargs docker rm #删除所有的容器
常用其他命令
后台启动容器
docker run -d 容器名称
注意:通过上图可以看到,CentOS停止了。因为我们通过 docker ps 命令可以看到没有正在运行的容器,刚刚启动的容器已经退出了。
这是因为docker容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止。
为了让容器能够一直执行,我们可以在启动容器后,在后台运行一个循环的脚本
docker run -d centos /bin/bash -c 'while true;do echo hello world;sleep 2;done'
查看运行日志
docker logs -t -f 容器ID #查看全部的运行日志
docker logs -t -f --tail 3(日志行数) 容器ID #查看最近几行运行日志,这里是最近3行
查看容器中的进程信息
docker top 容器ID
查看容器或镜像的元数据
我们想要查看容器的细节可以通过inspect命令
docker inspect 容器ID
进入当前正在运行的容器
#通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
#命令
#方式一
docker exec -it 容器ID bashShell
#方式二
docker attach -it 容器ID
#区别
#docker exec 进入容器后开启一个新的终端,可以在里面操作(常用)
#docker attach 进入容器正在执行的终端,不会启动新的进程
进入方式 | 说明 |
---|---|
exec | 在容器中打开新的终端,并且可以启动新的进程 |
attach | 直接进入容器启动命令的终端,不会启动新的进程 |
从容器内拷贝文件到主机上
我们有时需要从容器中拷贝内容到宿主机中,可以使用以下命令:
docker cp 容器ID:容器内路径 目的主机路径