https://blog.csdn.net/Captain_RB/article/details/115037179

容器管理

ps

查看本地容器

  1. docker ps [OPTIONS]

可选参数:

  1. # OPTIONS:
  2. # -a:显示所有的容器,包括未运行的
  3. # -f:根据条件过滤显示的内容
  4. # -l:显示最近创建的容器
  5. # -n:列出最近创建的n个容器
  6. # -q:静默模式,只显示容器ID
  7. # -s:显示总的文件大小
  8. # --no-trunc:不截断,输出容器详细信息

示例:
查看目前正在运行的容器

  1. docker ps

image.png
示例2:
查看目前系统存在的所有容器(这里会列出所有未运行及正在运行的所有容器)

  1. docker ps -a

image.png

run

创建一个新的容器并进行启动

  1. docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

可选参数

  1. -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  2. -d: 后台运行容器,并返回容器ID
  3. -i: 以交互模式运行容器,通常与 -t 同时使用;
  4. -P: 随机端口映射,容器内部端口随机映射到主机的端口
  5. -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  6. -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  7. --name="nginx-lb": 为容器指定一个名称;
  8. --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  9. --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  10. -h "mars": 指定容器的hostname
  11. -e username="ritchie": 设置环境变量;
  12. --env-file=[]: 从指定文件读入环境变量;
  13. --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  14. -m :设置容器使用内存最大值;
  15. --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  16. --link=[]: 添加链接到另一个容器;
  17. --expose=[]: 开放一个端口或一组端口;
  18. -v,--volume:指定卷的映射,格式为:"主机卷:容器卷"

示例:
我们来启动一个nginx

  1. dockerv run -it nginx

此时已经启动成因为是交互式带终端因此如果你进行退出终端则会关闭容器,容器则进行停止
image.png
示例二:
后台运行并将nginx容器内部的80端口与本机(宿主机)端口进行映射

  1. docker run -itd -p [宿主机端口]:[容器端口] nginx
  2. [root@Vue ~]# docker run -itd -p 8098:80 nginx
  3. daac4b92c2fe5b7e85d71e0d087115b8527ce3fee6929e9f127bdb6002c4acc9

启动成功后我们在浏览器使用你宿主机的ip+端口即可访问nginx服务
image.png

create

创建一个容器但不运行

  1. docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

命令参数与run 命令一样

exec

进入运行中的容器,并进行在容器内部操作指令

  1. docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

可选参数

  1. # OPTIONS:
  2. # -d:后台运行
  3. # -i:以交互模式执行命令,通常与-t同时使用
  4. # -t:分配一个伪终端
  5. -d, --detach 后台运行
  6. --detach-keys string Override the key sequence for detaching a container
  7. -e, --env list Set environment variables
  8. --env-file list Read in a file of environment variables
  9. -i, --interactive 交互式环境下执行命令,与-t同时使用
  10. --privileged Give extended privileges to the command
  11. -t, --tty 伪终端
  12. -u, --user string Username or UID (format: <name|uid>[:<group|gid>])
  13. -w, --workdir string Working directory inside the container

示例:
进入正在运行的nginx容器

  1. docker exec -it nginx /bin/bash 或者
  2. docker exec -it 51556b811881 /bin/bash

image.png

start

启动一个停止的容器

  1. docker start [OPTIONS] CONTAINER [CONTAINER...]

可选参数

  1. -a, --attach Attach STDOUT/STDERR and forward signals
  2. --detach-keys string Override the key sequence for detaching a container
  3. -i, --interactive Attach container's STDIN

示例:

  1. docker start 51556b811881

stop

停止一个正在运行中的容器

  1. docker stop [OPTIONS] CONTAINER [CONTAINER...]

可选参数

  1. -t, --time int Seconds to wait for stop before killing it (default 10)

restart

重启容器

kill

杀死在进程中的容器