1221 字
3 分钟

Docker配置开发环境常用命令_参数详解(1

2018-07-10
2019-08-07

Docker配置开发环境常用命令_参数详解#

标签(空格分隔): docker


在下载image后我们需要一个可以运行项目的环境

使用下载的image运行容器#

命令:docker run

当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载
利用镜像创建并启动一个容器
分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
从地址池配置一个 ip 地址给容器
执行用户指定的应用程序
执行完毕后容器被终止

用法

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

Options

名字,速记默认描述
--add-host添加一个自定义的主机IP映射(主持人:IP)
--attach , -aattach到stdin stdout或stderr,
--blkio-weight块IO(相对量),10和1000之间,或0禁用(默认为0)
--blkio-weight-device块IO量(相对装置重量)
--cap-add添加Linux的功能
--cap-dropLinux的能力下降
--cgroup-parent可选的父容器的C
--cidfile写容器的ID文件
--cpu-countCPU数量(Windows)
--cpu-percentCPU的百分比(Windows)
--cpu-period限制CPU CFS(完全公平调度器)期
--cpu-quota限制CPU CFS(完全公平调度器)定额
--cpu-rt-periodAPI 1.25
限制CPU的实时周期在微秒
--cpu-rt-runtimeAPI 1.25
限制CPU的实时运行在微秒
--cpu-shares , -cCPU份额(相对量)
--cpusAPI 1.25
CPU数量
--cpuset-cpus这允许CPU执行(0,0)
--cpuset-memsMEMS中允许执行(0,0)
--detach , -d运行容器的背景和打印容器ID
--detach-keys分离容器覆盖关键序列
--device添加一个主机装置的容器
--device-cgroup-rule添加一条规则,允许设备列表的C
--device-read-bps限制读取速度(每秒字节数)从设备
--device-read-iops限制读取率(IO每秒)从设备
--device-write-bps限制写速率(每秒字节数)的一种装置
--device-write-iops限制写速率(IO每秒)的一种装置
--disable-content-trusttrue跳过图像验证
--dns设置自定义的DNS服务器
--dns-opt设置DNS选项
--dns-option设置DNS选项
--dns-search设置自定义DNS搜索域
--entrypoint覆盖图像的默认入口点
--env , -e设置环境变量
--env-file在一个环境变量文件读取
--expose揭露一个端口或端口范围
--group-add添加额外的团体加入
--health-cmd要运行的命令来检查卫生
--health-interval之间运行的检查时间(MS
--health-retries连续的失败需要报告不良
--health-start-periodAPI 1.29
对于容器初始化之前开始倒计时起始期健康重试(MSM
--health-timeout允许一个检查运行的最大时间(MS
--help打印使用
--hostname , -h容器的主机名称
--initAPI 1.25
运行容器内转发信号和收获过程中的一个初始化
--interactive , -i保持输入打开即使不连接
--io-maxbandwidth的驱动系统的最大IO带宽限制(仅适用于Windows)
--io-maxiops对系统驱动Maximum IOps极限(Windows)
--ipIPv4地址(例如,172.30.100.104)
--ip6IPv6的地址(例如,2001:db8::33)
--ipcIPC模式使用
--isolation容器隔离技术
--kernel-memory内核内存限制
--label , -l设置元数据容器
--label-file读一行分隔的文件标签
--link添加链接到另一个容器
--link-local-ip集装箱IPv4和IPv6链路本地地址
--log-driver测井的集装箱司机
--log-opt日志驱动器选项
--mac-address集装箱的MAC地址(例如92:D0:c6:0a:29:33)
--memory , -m内存限制
--memory-reservation记忆软限制
--memory-swap互换限额等于内存和交换:’ 1 ‘使无限的互换
--memory-swappiness-1调容器内存swappiness(0到100)
--mount将文件系统挂载到容器
--name在容器分配一个名字
--net连接到网络的一个容器
--net-alias添加网络域别名容器
--network连接到网络的一个容器
--network-alias添加网络域别名容器
--no-healthcheck禁用任何容器指定的检查
--oom-kill-disable禁用OOM Killer
--oom-score-adj调主机的OOM的偏好(1000到1000)
--pidPID命名空间的使用
--pids-limit调整PID(集1容器极限无限)
--platform实验(守护)API 1.32
如果服务器是多平台可设置平台
--privileged给这个容器扩展权限
--publish , -pPublish a container’s port(s) to the host
--publish-all , -P发布所有暴露的端口随机端口
--read-only装入容器的根文件系统为只读
--restartno重启政策适用在集装箱出口
--rm自动删除容器时退出
--runtime运行时使用此容器
--security-opt安全选项
--shm-size大小/ dev / shm
--sig-proxytrue代理接收到的信号的过程
--stop-signalSIGTERM信号停止一个容器
--stop-timeoutAPI 1.25
超时(秒)停止一个容器
--storage-opt对于集装箱存储驱动程序选项
--sysctlsysctl选项
--tmpfs安装tmpfs目录
--tty , -t分配给伪tty
--ulimitulimit选项
--user , -uUsername or UID (format: <name
--userns用户要使用的名称空间
--utsUTS命名空间的使用
--volume , -v绑定安装卷
--volume-driver容器的体积驱动可选
--volumes-from山卷从指定的容器(S)
--workdir , -w容器内的工作目录
------------
##### 非主流用法:
###### 使用image创建container并执行相应命令,然后停止

$ docker run centos echo ‘123’ Unable to find image ‘centos’ locally latest: Pulling from library/centos af4b0a2388c6: Pull complete Digest: sha256:2671f7a3eea36ce43609e9fe7435ade83094291055f1c96d9d1d1d7c0b986a5d Status: Downloaded newer image for centos ps:以上是下载最新的centos过程 123

这是最简单的方式,跟在本地直接执行echo 'hello world' 几乎感觉不出任何区别,而实际上它会从本地 **centos:latest** 镜像启动到一个容器并执行打印命令后退出(docker ps -l可查看)。
需要注意的是,默认有一个 **--rm=true** 参数,即完成操作后停止容器并从文件系统移除。
因为Docker的容器实在太轻量级了,很多时候用户都是随时删除和新创建容器。
容器启动后会自动随机生成一个CONTAINER ID,这个ID在后面commit命令后可以变为IMAGE ID
##### 主流用法:
###### 使用image创建container并进入交互模式, login shell是/bin/bash
`docker run -i --name cee -t centos:7.2.1511 /bin/bash`
使用示例:
docker run -i --name cee -t centos:7.2.1511 /bin/bash
[root@90df89d56b3e /]#

使用到的option:

|参数|含义| |—|—|—| |-i |保持输入打开即使不连接(类似于后台运行)| |–name |标记可以为容器自定义命名| |-t |docker可以虚拟出一个TTY窗口|

Docker配置开发环境常用命令_参数详解(1
https://www.motouguai.com/note/docker-configuration-development-environment-commonly-used-commands-parameters-detailed-1/
作者
Murry
发布于
2018-07-10
许可协议
CC BY-NC-SA 4.0

部分信息可能已经过时