容器命令
说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习
docker pull centos8
docker run --help #docker run启动
新建容器并启动
docker run[可选参数] image
# 参数说明
--name="Name" 容器名字 tomcat 01 tomcat02 用来区分容器
-d 后台方式运行
-it 使用交互方式运行, 进入容器查看内容
-P 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-P 主机端口:容器端口(常用)
-P 容器端口
-p 随机指定端口
# 测试
docker run -it centos /bin/bash
# 从容器退回主机
exit
列出所有运行的容器
docker ps
docker ps -a #列出当前正在运行的容器+历史运行过的容器
docker ps -n=? # 显示最近创建的容器
docker ps -n=1
docker ps -q #只显示容器的编号
docker ps -aq # 显示所有容器的编号
退出容器
exit # 直接容器停止并退出
Ctrl+P+Q # 容器不停止退出
删除容器
docker rm 容器id # 删除指定容器, 不能删除正在运行的容器,如果要强制删除 rm -f
docker rm -f $(docker ps -aq) # 删除所有容器
docker ps -a -q|xargs docker rm # 删除所有容器
启动和停止容器的操作
docker start 容器id #启动容器
docker restart 容器id # 重启容器
docker stop 容器id # 停止当前正在运行的容器
docker kill 容器id # 强制停止当前运行的容器
常用的其他命令
后台启动容器
# 命令docker run -d 镜像名
docker run -d 镜像名
# 问题docker ps 发现centos 停止了
# 常见的坑:docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
# nginx, 容器启动后,发现自己没有提供服务,就会立刻停止,就没有程序了。
查看日志
docker logs
docker logs --help # 选项
docker logs -f -t --tail 容器id # 容器,没有日志
# 自己编写shell脚本
"while true;do echo bruce_liu;sleep 1;done"
docker run -d centos -c /bin/sh "while true;do echo bruce_liu;sleep 1;done"
# 显示日志
-tf # 显示日志
--tail num # 要显示的记录条数
查看容器中的进程信息
# Windows系统环境
# 命令docker top 容器id
C:\cmder
λ docker top 0c7ee03d76dd
UID PID PPID C STIME TTY
TIME CMD
root 5113 5092 0 13:49 ?
00:00:00 /bin/sh -c while true;do echo bruce_liu;sleep 1;done
root 13416 5113 0 14:01 ?
00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1