02_docker容器命令

Posted nichengshishaonian

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02_docker容器命令相关的知识,希望对你有一定的参考价值。

Docker容器命令

1. 新建并启动容器

命令格式:docker run [参数] IMAGE [COMMAND] [ARG...] # 其中 IMAGE为: 镜像[:TAG]或镜像id

参数: 说明,有些参数是一个- , 有些参数是两个--

  • --name:指定容器名字
  • -i: 以交互模式运行容器,通常与 -t 同时使用
  • -t: 为容器重新分配一个伪输入终端,通常与-i 同时使用
  • -d: 后台运行容器,并返回容器ID, 即启动守护式容器
  • -p: 指定端口映射, 有以下四种格式:
    • ip:hostPort:containerPort
    • ip::containerPort
    • hostPort:containerPort
    • containerPort
  1. 以交互式的方式运行
sudo docker run -it centos
docker run -it --name long_centos  centos

技术图片

  1. 以后台守护进程的方式运行

    docker run -d 容器名

2. 查看容器

命令格式: docker ps [参数]

参数:

  • -a: 列出所有容器(正在运行的和已经停止运行了的)
  • -l: 显示最近创建的容器
  • -q: 只显示容器编号 (即:CONTAINER ID)
  • --no-trunc : 不截断输出
docker ps    # 显示正在运行的容器
docker ps -a   # 显示所有容器,包括停止运行的容器
docker ps -l   # 显示最近创建的容器
docker ps -q   # 显示正在运行的容器的编号
docker ps -aq   # 显示所有容器的编号
docker ps --no-trunc  

3. 退出容器

  1. exit ---> 退出并停止容器
  2. ctrl + p + q 容器不停止退出

4. 启动容器

命令格式:docker start 容器id或者容器名

5. 重启容器

命令格式: docker restart 容器id或者容器名

6. 停止容器

命令: docker stop 容器id或者容器名 # 相当于关机

7. 强制停止容器

命令: docker kill 容器id或容器名 # 相当于直接拨电源

8. 删除已经停止的容器

docker rm 容器id # 可以带上个参数 -f,把正在运行的容器也删除

docker rm 容器id    # 删除单个
docker rm 容器id [容器id 容器id ...]

# 删除所有容器
docker rm -f $(docker ps -aq)
docker ps -aq | xargs docker rm

9. 查看容器日志

docker logs [参数] 容器id

参数:

  • -t : 加入时间戳
  • -f : 跟随最新的日志打印
  • --tail: 数字,显示最后多少条
docker logs -f -t --tail 容器id
docker logs 

10. 查看容器内运行的进程

docker top 容器id

11. 查看容器内部细节

docker inspect 容器id

12. 进入正在运行的容器并以命令行交互

docker exec -it 容器id /bin/bash
docker attach 容器id

# attach 与 exec 的区别
attach:直接进入容器启动命令的终端,不会启动新的进程
exec: 是在容器中打开新的终端,并且可以启动新的进程

13. 从容器内拷贝文件到主机上

docker cp 容器id:容器内路径 目的主机路径

以上是关于02_docker容器命令的主要内容,如果未能解决你的问题,请参考以下文章

容器化开发_02_Docker判断程序是否起来?Docker定位容器错误?

S-Docker_02_基本概念_02_容器

Docker _容器,架构原理,常用命令

Docker导入镜像并生成容器

docker 常用命令整理

docker 常用命令整理