zoukankan      html  css  js  c++  java
  • Docker 容器

    什么是容器?

    Docker 镜像的实例。 容器表示单个应用程序、进程或服务的执行。 它由 Docker 镜像的内容、执行环境和一组标准指令组成。可以从相从同一个的镜像创建多个容器实例,可以向每个实例传递不同的参数。

    容器相关命令【常用】

    docker run :创建一个新的容器并运行一个命令

    命令
    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    参数

    参数名

    默认

    描述

    --add-host

     

    添加自定义主机到IP的映射(hostip

    --attach , -a

     

    附加到STDINSTDOUTSTDERR

    --blkio-weight

     

    IO(相对权重),介于101000之间,或者为0禁用(默认为0

    --blkio-weight-device

     

    IO重量(相对设备重量)

    --cap-add

     

    添加Linux功能

    --cap-drop

     

    放弃Linux功能

    --cgroup-parent

     

    容器的可选父cgroup

    --cidfile

     

    将容器ID写入文件

    --cpu-count

     

    CPU数量(仅Windows

    --cpu-percent

     

    CPU百分比(仅Windows

    --cpu-period

     

    限制CPU CFS(完全公平的调度程序)期限

    --cpu-quota

     

    限制CPU CFS(完全公平的调度程序)配额

    --cpu-rt-period

     

    API 1.25+
    限制CPU实时时间(以微秒为单位)

    --cpu-rt-runtime

     

    API 1.25+
    限制CPU实时运行时间(以微秒为单位)

    --cpu-shares , -c

     

    CPU份额(相对重量)

    --cpus

     

    API 1.25+
    CPU
    数量

    --cpuset-cpus

     

    允许执行的CPU0-30,1

    --cpuset-mems

     

    允许执行的MEM0-30,1

    --detach , -d

     

    在后台运行容器并打印容器ID

    --detach-keys

     

    覆盖分离容器的键序列

    --device

     

    将主机设备添加到容器

    --device-cgroup-rule

     

    将规则添加到cgroup允许的设备列表中

    --device-read-bps

     

    限制从设备读取的速率(每秒字节数)

    --device-read-iops

     

    限制从设备读取的速率(每秒IO

    --device-write-bps

     

    限制对设备的写入速率(每秒字节数)

    --device-write-iops

     

    限制对设备的写入速率(每秒IO

    --disable-content-trust

    true

    跳过图像验证

    --dns

     

    设置自定义DNS服务器

    --dns-opt

     

    设定DNS选项

    --dns-option

     

    设定DNS选项

    --dns-search

     

    设置自定义DNS搜索域

    --domainname

     

    容器NIS域名

    --entrypoint

     

    覆盖图像的默认ENTRYPOINT

    --env , -e

     

    设置环境变量

    --env-file

     

    读入环境变量文件

    --expose

     

    公开一个或多个端口

    --gpus

     

    API 1.40+
    GPU
    设备添加到容器中("全部"传递所有GPU

    --group-add

     

    添加其他群组即可加入

    --health-cmd

     

    运行命令以检查运行状况

    --health-interval

     

    运行检查之间的时间(ms | s | m | h)(默认为0s

    --health-retries

     

    需要连续报告不健康状况

    --health-start-period

     

    API 1.29+
    容器在开始运行状况重试倒计时(ms | s | m | h)之前初始化的开始时间(默认为0s

    --health-timeout

     

    允许执行一次检查的最长时间(ms | s | m | h)(默认为0s

    --help

     

    打印用量

    --hostname , -h

     

    容器主机名

    --init

     

    API 1.25+
    在容器内运行一个初始化程序,以转发信号并获取进程

    --interactive , -i

     

    即使未连接STDIN也保持打开状态

    --io-maxbandwidth

     

    系统驱动器的最大IO带宽限制(仅Windows

    --io-maxiops

     

    系统驱动器的最大IOps限制(仅Windows

    --ip

     

    IPv4地址(例如172.30.100.104

    --ip6

     

    IPv6地址(例如2001db8 :: 33

    --ipc

     

    使用的IPC模式

    --isolation

     

    集装箱隔离技术

    --kernel-memory

     

    内核内存限制

    --label , -l

     

    在容器上设置元数据

    --label-file

     

    读入行分隔的标签文件

    --link

     

    将链接添加到另一个容器

    --link-local-ip

     

    容器IPv4 / IPv6链接本地地址

    --log-driver

     

    容器的日志记录驱动程序

    --log-opt

     

    日志驱动程序选项

    --mac-address

     

    容器MAC地址(例如92d0c60a2933

    --memory , -m

     

    内存限制

    --memory-reservation

     

    内存软限制

    --memory-swap

     

    交换限制等于内存加交换:"-1"以启用无限交换

    --memory-swappiness

    -1

    调整容器内存交换(0100

    --mount

     

    将文件系统挂载附加到容器

    --name

     

    为容器分配一个名称

    --net

     

    将容器连接到网络

    --net-alias

     

    为容器添加网络范围的别名

    --network

     

    将容器连接到网络

    --network-alias

     

    为容器添加网络范围的别名

    --no-healthcheck

     

    禁用任何容器指定的健康检查

    --oom-kill-disable

     

    禁用OOM杀手

    --oom-score-adj

     

    调台主持人的OOM首选项(-10001000

    --pid

     

    使用的PID名称空间

    --pids-limit

     

    调整容器pids限制(将-1设置为无限制)

    --platform

     

    实验(守护程序)API 1.32+
    设置平台(如果服务器具有多平台功能)

    --privileged

     

    赋予此容器扩展的特权

    --publish , -p

     

    将容器的端口发布到主机

    --publish-all , -P

     

    将所有公开的端口发布到随机端口

    --read-only

     

    将容器的根文件系统挂载为只读

    --restart

    no

    容器退出时重新启动策略以应用

    --rm

     

    退出时自动删除容器

    --runtime

     

    用于此容器的运行时

    --security-opt

     

    安全选项

    --shm-size

     

    / dev / shm的大小

    --sig-proxy

    true

    代理接收到该过程的信号

    --stop-signal

    SIGTERM

    停止容器的信号

    --stop-timeout

     

    API 1.25+
    超时(以秒为单位)以停止容器

    --storage-opt

     

    容器的存储驱动程序选项

    --sysctl

     

    Sysctl选项

    --tmpfs

     

    挂载tmpfs目录

    --tty , -t

     

    分配伪TTY

    --ulimit

     

    Ulimit选项

    --user , -u

     

    用户名或UID(格式:<名称| uid> [<| gid>]

    --userns

     

    要使用的用户名称空间

    --uts

     

    要使用的UTS名称空间

    --volume , -v

     

    绑定挂载卷

    --volume-driver

     

    容器的可选音量驱动器

    --volumes-from

     

    从指定的容器挂载卷

    --workdir , -w

     

    容器内的工作目录

    例如:运行一个CentOS的镜像实例

    docker ps :列出容器

    命令
    docker ps [OPTIONS]
    参数

    参数名

    默认

    描述

    --all , -a

     

    显示所有容器(默认显示为正在运行)

    --filter , -f

     

    根据提供的条件过滤输出

    --format

     

    使用Go模板打印漂亮的容器

    --last , -n

    -1

    显示n个最后创建的容器(包括所有状态)

    --latest , -l

     

    显示最新创建的容器(包括所有状态)

    --no-trunc

     

    不要截断输出

    --quiet , -q

     

    仅显示数字ID

    --size , -s

     

    显示文件总大小

    --filter参数

    过滤

    描述

    id

    容器ID

    name

    容器名称

    label

    表示键或键值对的任意字符串。表示为<key><key>=<value>

    exited

    表示容器的退出代码的整数。仅对有用--all

    status

    选择其中的一个参数createdrestartingrunningremovingpausedexited,或者dead

    ancestor

    筛选共享给定镜像作为祖先的容器。表现为<image-name>[:<tag>] <image id><image@digest>

    before 要么 since

    过滤在给定容器ID或名称之前或之后创建的容器

    volume

    过滤运行已安装给定卷或绑定安装的容器。

    network

    筛选正在运行的连接到给定网络的容器。

    publish 要么 expose

    筛选发布或公开给定端口的容器。表示为<port>[/<proto>]<startport-endport>/[<proto>]

    health

    根据健康检查状态过滤容器。选择其中一个参数startinghealthyunhealthynone

    isolation

    Windows守护程序。其中一个defaultprocesshyperv

    is-task

    筛选作为服务"任务"的容器。布尔选项(truefalse

    例子:列出所有的容器

    例子:列出正在运行的容器

    退出容器

    退出后容器停止:exit
    退出后容器不停止:Ctl+P+Q

    docker start:启动一个或多个已停止的容器

    命令
    docker start [OPTIONS] CONTAINER [CONTAINER...]
    参数

    参数名

    默认

    描述

    --attach , -a

     

    连接STDOUT / STDERR和转发信号

    --checkpoint

     

    实验(守护程序)
    从此检查点还原

    --checkpoint-dir

     

    实验(守护程序)
    使用自定义检查点存储目录

    --detach-keys

     

    覆盖分离容器的键序列

    --interactive , -i

     

    附加容器的STDIN

     

    例子:启动centos两个已停止的容器

    docker restart:重启一个或多个容器

    命令
    docker restart [OPTIONS] CONTAINER [CONTAINER...]
    参数

    参数名

    默认

    描述

    --time , -t

    10

    在杀死容器之前等待停止的秒数

     

    例子:重启centos两个容器

    docker stop:停止一个或多个运行中容器

    命令
    docker stop [OPTIONS] CONTAINER [CONTAINER...]
    参数

    参数名

    默认

    描述

    --time , -t

    10

    在停止容器之前等待停止的秒数

     

    例子:停止两个centos两个容器

    docker kill:杀死一个或多个正在运行容器

    命令
    docker kill [OPTIONS] CONTAINER [CONTAINER...]
    参数

    参数名

    默认

    描述

    --signal , -s

    KILL

    信号发送到容器

     

    例子:杀死两个centos两个容器

    docker rm:删除或多个容器

    命令
    docker remove [OPTIONS] CONTAINER [CONTAINER...]
    参数

     

    默认

    描述

    --force , -f

     

    强制删除正在运行的容器(使用SIGKILL

    --link , -l

     

    删除指定的链接

    --volumes , -v

     

    删除与容器关联的匿名卷

    删除所有容器

    docker rm $(docker ps -a -q)

    例子:删除一个centos容器

    docker inspect :显示docker对象的底层信息

    命令
    docker inspect [OPTIONS] NAME|ID [NAME|ID...]
    参数

    参数名

    默认

    描述

    --format , -f

     

    使用给定的Go模板格式化输出

    --size , -s

     

    如果类型为容器,则显示文件总大小

    --type

     

    返回指定类型的JSON

    例子:显示centos的镜像信息、实例信息

    docker logs:获取容器的日志

    命令
    docker logs [OPTIONS] CONTAINER
    参数

    参数名

    默认

    描述

    --details

     

    显示提供给日志的其他详细信息

    --follow , -f

     

    跟踪日志输出

    --since

     

    显示自时间戳记以来的日志(例如2013-01-02T132337)或相对记录(例如42m42分钟)

    --tail

    all

    从日志末尾开始显示的行数

    --timestamps , -t

     

    显示时间戳

    --until

     

    API 1.35+
    在时间戳(例如2013-01-02T132337)或相对时间戳(例如42m持续42分钟)之前显示日志

    例子:获取nginx容器中的日志

    docker top:显示容器内运行的进程

    命令
    docker top CONTAINER [ps OPTIONS]

    例子:显示centos容器中的运行进程

    docker attach:将本地标准输入,输出和错误流附加到正在运行的容器

    命令
    docker attach [OPTIONS] CONTAINER
    参数

    参数名

    默认

    描述

    --detach-keys

     

    覆盖分离容器的键序列

    --no-stdin

     

    不要附上STDIN

    --sig-proxy

    true

    代理所有接收到的信号到进程

    例子:附加到运行的centos容器,然后退出

    docker exec:在正在运行的容器中运行命令

    命令
    docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
    参数

    参数名称

    默认

    描述

    --detach , -d

     

    分离模式:在后台运行命令

    --detach-keys

     

    覆盖分离容器的键序列

    --env , -e

     

    API 1.25+
    设置环境变量

    --interactive , -i

     

    即使未连接STDIN也保持打开状态

    --privileged

     

    赋予命令扩展权限

    --tty , -t

     

    分配伪TTY

    --user , -u

     

    用户名或UID(格式:<名称| uid> [<| gid>]

    --workdir , -w

     

    API 1.35+
    容器内的工作目录

    例子:在运行的centos容器中,在后台创建一个test文件夹

    docker cp:在容器和本地文件系统之间复制文件/文件夹

    命令
    docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
    docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
    参数

    参数名

    默认

    描述

    --archive , -a

     

    存档模式(复制所有uid / gid信息)

    --follow-link , -L

     

    始终遵循SRC_PATH中的符号链接

    例子:将容器内的test文件夹复制到宿主机上

    参考资料

    https://docs.microsoft.com/zh-cn//dotnet/architecture/microservices/container-docker-introduction/docker-terminology
    https://www.runoob.com/docker/docker-run-command.html
    https://docs.docker.com/reference/

  • 相关阅读:
    9. MySQL
    python第四课
    python第三课pycharm的使用
    python第二课
    python第一课
    Python3基础-网络编程(8)
    Python3基础-异常处理(7)
    Python3基础-面向对象(6)
    Python3基础-模块和包(5)
    Python3基础-文件处理(4)
  • 原文地址:https://www.cnblogs.com/ZQWelcomeIndex/p/12818702.html
Copyright © 2011-2022 走看看