Docker常用命令(三)---容器的常用命令(下)
程序员文章站
2022-05-10 23:32:43
...
1. 启动守护式容器
docker run -d 镜像名称
docker run -d centos
使用镜像centos:latest以后台模式运行一个容器
docker run -d centos
问题: 然后docker ps -a进行查看, 会发现容器已经退出
很重要的要说明的一点: Docker容器后台运行,就必须有一个前台进程
容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail), 就会自动退出的。
这个是docker的机制问题,比如你的web容器,我们以nginx为例, 正常情况下,我们配置启动服务只需要启动响应的service即可。例如service nginx start
但是,这样做,nginx为后台进程模式运行,就导致docker前台设置没有运行的应用,这样的容器后台启动后,会立即自杀因为他觉得他没事可做了。
所以最佳的解决方案是,将你要运行的程序以前台进程的形式运行。
2. 查看容器日志
docker logs [OPTIONS] 容器ID
OPTIONS参数说明:
- -f : 查看实时日志
- -t: 跟随最新的日志打印
- –tail 数字 : 显示最后多少条
docker logs -t fa1b4f053e35
3. 查看容器内运行的进程
docker top 容器ID
docker top fa1b4f053e35
4. 查看容器内部细节
docker inspect 容器ID
5. 进入容器
- exec命令 : docker exec [OPTIONS] CONTAINER COMMAND [ARG…]
docker exec -it 1bebc2471ec8 /bin/bash ---> 进入容器
docker exec -it 1bebc2471ec8 ls ---> 执行ls命令
- attach命令 : docker attach CONTAINER
docker attach 1bebc2471ec8
备注: 上述两个区别
attach直接进入容器启动命令的终端, 不会启动新的进程。exit退出就会导致容器stop
exec是在容器中打开新的终端,并且可以启动新的进程。 这个命令exit退出,ok容器还在运行
6. 从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
docker cp 1bebc2471ec8:/tmp/yum.log /root
7. 命令总结
命令 | 说明 |
---|---|
attach | 当前shell下attach连接指定运行镜像 |
build | 通过Dockefile定制镜像 |
commit | 提交当前容器为新的镜像 |
cp | 从容器中拷贝指定文件或目录到宿主机中 |
create | 创建一个新的容器, 同run, 但不启动容器 |
diff | 查看docker容器变化 |
events | 从docker服务获取容器实时事件 |
exec | 在已存在的容器上运行命令 |
export | 导出容器的内容流作为一个tar归档文件【对应import】 |
history | 展示一个镜像形成历史 |
images | l列出系统当前镜像 |
import | 从tar包中的内容创建一个新的文件系统映像【对应export】 |
info | 显示系统相关信息 |
inspect | 查看容器详细信息 |
kill | kill指定docker容器 |
load | 从一个tar包中加载一个镜像【对应save】 |
login | 注册或登录一个docker服务器 |
logout | 从当前Docker Register退出 |
logs | 输出当前容器日志信息 |
port | 查看映射端口对应的容器 |
pause | 暂停容器 |
ps | 列出容器列表 |
pull | 从docker镜像源服务器拉取指定镜像或者库镜像 |
push | 推送指定镜像或者库镜像至docker源服务器 |
restart | 重启运行的容器 |
rm | 移除一个或者多个容器 |
rmi | 移除一个或多个镜像【无容器使用镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除】 |
run | 创建一个新的容器并运行一个命令 |
save | 保存一个镜像为tar包【对应load】 |
search | 在docker hub中搜索镜像 |
start | 启动容器 |
stop | 停止容器 |
tag | 给源中镜像打标签 |
top | 查看容器中运行的进程信息 |
unpause | 取消暂停容器 |
version | 查看docker版本 |
wait | 截取容器停止时的退出状态值 |
上一篇: post方法提交表单 如何获取文件