当前位置:   article > 正文

Docker应用---Docker“容器”的常用使用操作_docker -p命令

docker -p命令

1、容器创建——docker create

  1. #新创建的容器默认处于停止状态,不运行任何程序,需要再其中发起一个进程来启动容器
  2. #docker create [选项] 镜像
  3. #常用选项:
  4. #-i:让容器开启标准输入
  5. #-t:让Docker分配一个伪终端tty
  6. #-it:合起来实现和容器交互的作用,运行一个交互式会话shell
  7. docker create -it centos:latest /bin/bash

 2、查看所有容器以及状态——docker ps -a

  1. #-a 选项可以显示所有的容器
  2. docker ps -a
  3. #查看正在运行的容器
  4. docker ps

 3、启动容器——docker start

  1. docker start 【容器ID】
  2. docker ps -a

 4、启动容器(一次性执行)—— docker run

(1)docker run的基本操作

  1. #加 -d 选项让 Docker 容器以守护形式在后台运行。并且容器所运行的程序不能结束。
  2. 加于不加-d的区别
  3. 如果docker run 运行的时一个centos系统,不加-d,会运行一个前台,然后直接进入容器内部。当你退出容器后,进程就会退出。容器就会关闭
  4. #示例1
  5. docker run -itd centos:latest /bin/bash 创建1个容器放入后台运行
  6. #示例2:执行后退出
  7. docker run centos:7 /usr/local/bash -c ls -lh /
  8. #示例3:执行后不退出,以守护进程方式执行持续性任务
  9. docker run -d centos:8 /usr/local/bash -c "while true;do echo lcdb;done"

示例1:

 实例2 :执行后退出

 

示例3:执行后不退出,以守护进程方式执行持续性任务

 (2)停止容器运行

  1. docker start 容器id
  2. docker ps
  3. docker stop 【容器ID】
  4. docker kill 【容器ID】慎用
  5. #stop和kill的区别
  6. 使用kill是直接关闭这个容器的进程,如果有正在运行的文件,那么可能造成数据丢失。
  7. 使用stop是给容器发出一个退出的信号,相当于给容器一些缓冲的余地。保存好自己的文件,然后再关闭。

 5、查看容器ip地址——docker inspect

  1. #格式:docker inspect 容器id
  2. docker ps -a #先查看运行时容器的id
  3. docker inspect 容器id

 6、进入容器——docker exec

  1. #格式:docker exec -it 容器ID/名称 /bin/bash
  2. -i 选项表示让容器的输入保持打开;
  3. -t 选项表示让 Docker 分配一个伪终端。
  4. #示例:进入(三种方式)
  5. docker run -itd centos:7 /bin/bash #先运行容器
  6. docker ps -a
  7. ①使用run进入,可以使用ctrl+d退出,直接退出终端
  8. docker run -it centos:7 /bin/bash
  9. ②想永久性进入,退出后还是运行状态,用docker exec
  10. docker ps -a
  11. docker exec -it 容器id /bin/bash
  12. ③docker attach,会通过连接stdin,连接到容器内输入输出流,公在输入exit后终止容器进程(临时性的,不推荐)

(1)使用run命令进入,是一次性进入

 (2)永久性进入,用docker exec

 7、容器导出/导入——docker export

  1. #导出格式:docker export 容器ID/名称 > 文件名
  2. docker export b99e0771c4e1 > centos_7
  3. 使用scp将本地容器备份拷贝到另一台机器上使用
  4. #导入格式:cat 文件名 | docker import – 镜像名称:标签
  5. 方法①
  6. docker import centos_7 centos:v1 #导入后会生成镜像,但不会创建容器
  7. 方法②
  8. cat centos_7 | docker import - centos:v2

8、将容器内部的文件传出,将本地文件传入

  1. docker 【源文件路径】 【目标文件路径】
  2. docker cp /mnt/456/1.txt 【容器id】:/opt/
  3. #将本地文件导入到容器中
  4. docker cp 【容器id】:/opt/1.txt ./
  5. #将容器内的1.txt文件导出到本地

9、删除容器——docker rm -f

  1. #格式:docker rm [-f] 容器ID/名称
  2. 1.#不能删除运行状态的容器,只能-f强制删除,或者先停止再删除
  3. docker rm 3224eb044879
  4. 2.#已经退出的容器,可以直接删除
  5. docker rm 1270a6791069
  6. 3.#基于名称匹配的方式删除
  7. docker rm -f distracted_panini
  8. 4.#删除所有运行状态的容器
  9. docker rm -f `docker ps -q`
  10. 5.#删除所有容器
  11. docker rm -f `docker ps -aq`
  12. 6.#有选择性的批量删除 (正则匹配)
  13. docker ps -a l awk ' {print "docker rm "$1}'l bash
  14. 7.#删除退出状态的容器
  15. for i in `dockef ps -a l grep -i exit / awk '{print $1}' '; do docker rm -f $i;done

(1)不能删除运行状态的容器,只能-f强制删除,或者先停止再删除(基于ID的方式)

  1. #无法删除正在运行的容器 或者把正在运行的容器stop在进行删除
  2. docker rm 容器id
  3. #容器id 可以强制删除运行中的容器
  4. docker rm -f
docker rm 容器id

docker rm -f 容器id

 (2)不能删除运行状态的容器,只能-f强制删除,或者先停止再删除(基于名称的方式)

docker rm 容器名称

docker rm  -f  容器名称

 (3)其他删除方式的补充

  1. #删除所有运行状态的容器
  2. docker rm -f `docker ps -q`
  3. # 删除所有容器
  4. docker rm -f `docker ps -aq`
  5. #有选择性的批量删除 (正则匹配)
  6. docker ps -a | awk ' {print "docker rm "$1}'| bash
  7. # 删除退出状态的容器
  8. for i in `dockef ps -a | grep -i exit | awk '{print $1}' '; do docker rm -f $i;done

10、动态查看运行容器资源消耗

docker stats

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/1008113
推荐阅读
相关标签
  

闽ICP备14008679号