您的位置:首页 > 运维架构 > Docker

Docker常用命令(三)---容器的常用命令(下)

2019-05-22 11:46 423 查看

容器的常用命令

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 截取容器停止时的退出状态值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: