docker 容器部分常用命令
说明:我们有了镜像才可以创建容器,下载一个 Centos 镜像来测试
# 下载镜像
docker pull centos
docker run 启动容器
docker run [可选参数] images # 参数说明 --name="Name" 容器名称 tomat01 tomcat02 -d 后台方式运行 -it 使用交互方式运行,进入容器查看内容 -p 指定容器的端口 -p 8080:8080 -p ip:主机端口:容器端口 -p 主机端口:容器端口 (常用) -p 容器端口 容器端口 -P 随机指定端口 # 测试 [root@localhost /]# docker run -it centos /bin/bash #启动并进入容器 [root@2f467d2a0e08 /]# ls #查看容器内的centos,属于基础版本,很多命令是不完善的。 bin dev etc home lib lib64 lost+found media mnt opt proc root run sbin srv sys tmp usr var [root@2f467d2a0e08 /]# exit #从容器中退出 exit
docker ps 查看容器
# docker ps 命令 #列出正在运行的容器 -a #列出当前正在运行的容器+列出历史运行过的容器 -n=? #列出最近创建的容器 -qhi [root@localhost /]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@localhost /]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2f467d2a0e08 centos "/bin/bash" 2 minutes ago Exited (0) About a minute ago vigilant_mcclintock c27487104c37 hello-world "/hello" 6 hours ago Exited (0) 6 hours ago optimistic_albattani [root@localhost /]#
ctrl + P +Q 退出容器
exit #停止并退出
ctrl + P +Q #容器不停止退出
docker rm 删除容器
docker rm 容器id #删除指定容器,不能删除运行的容器,如要删除运行的容器,加-f参数:docker rm -f docker rm -f $(docker ps -aq) #删除所有容器 docker ps -a -q|xargs rm #删除所有容器
docker start/stop 启动和停止容器
docker start 容器id #启动容器
docker restart 容器id #重启容器
docker stop 容器id #停止当前正在运行容器
docker kill 容器id #强制停止当前容器
docker commit 提交镜像
# 将修改后的容器提交出一个镜像 ## 格式:docker commit 容器ID 需要创建的镜像名:版本号 docker commit 63f49b3bc5ac Centos-test:v1.0.1
常用其他命令
# 命令 docker run -d 镜像名 [root@localhost /]# docker run -d centos # 问题: docker ps,发现容器停止了 # 常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker 发现没有应用,就会自动停止 # nginx 容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
docker logs 查看日志
[root@localhost /]# docker logs --help 用法: docker logs [OPTIONS] CONTAINER Options: -f, --follow Follow log output --tail string #显示日志条数 -t, --timestamps #显示时间戳 [root@localhost /]# docker logs -tf --tail 10 容器id #自己编写一个 shell 脚本 docker run -d centos /bin/bash -c "while true;do echo nihao;sleep 1;done"
docker top 查看容器的进程信息
# 命令 docker top 容器id [root@localhost /]# docker top 67beaa9f2aa3 UID PID PPID C STIME TTY TIME CMD root 27521 27505 0 09:42 pts/0 00:00:00 /bin/bash [root@localhost /]# docker top --help Usage: docker top CONTAINER [ps OPTIONS]