1221 字
3 分钟
Docker配置开发环境常用命令_参数详解(1
Docker配置开发环境常用命令_参数详解
标签(空格分隔): docker
在下载image后我们需要一个可以运行项目的环境
使用下载的image运行容器
命令:docker run
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载利用镜像创建并启动一个容器分配一个文件系统,并在只读的镜像层外面挂载一层可读写层从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去从地址池配置一个 ip 地址给容器执行用户指定的应用程序执行完毕后容器被终止用法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
Options
| 名字,速记 | 默认 | 描述 |
|---|---|---|
--add-host | 添加一个自定义的主机IP映射(主持人:IP) | |
--attach , -a | attach到stdin stdout或stderr, | |
--blkio-weight | 块IO(相对量),10和1000之间,或0禁用(默认为0) | |
--blkio-weight-device | 块IO量(相对装置重量) | |
--cap-add | 添加Linux的功能 | |
--cap-drop | Linux的能力下降 | |
--cgroup-parent | 可选的父容器的C | |
--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 | 这允许CPU执行(0,0) | |
--cpuset-mems | MEMS中允许执行(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-trust | true | 跳过图像验证 |
--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-period | API 1.29 | |
| 对于容器初始化之前开始倒计时起始期健康重试(MS | 的 | M |
--health-timeout | 允许一个检查运行的最大时间(MS | |
--help | 打印使用 | |
--hostname , -h | 容器的主机名称 | |
--init | API 1.25 | |
| 运行容器内转发信号和收获过程中的一个初始化 | ||
--interactive , -i | 保持输入打开即使不连接 | |
--io-maxbandwidth | 的驱动系统的最大IO带宽限制(仅适用于Windows) | |
--io-maxiops | 对系统驱动Maximum IOps极限(Windows) | |
--ip | IPv4地址(例如,172.30.100.104) | |
--ip6 | IPv6的地址(例如,2001:db8::33) | |
--ipc | IPC模式使用 | |
--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) | |
--pid | PID命名空间的使用 | |
--pids-limit | 调整PID(集1容器极限无限) | |
--platform | 实验(守护)API 1.32 | |
| 如果服务器是多平台可设置平台 | ||
--privileged | 给这个容器扩展权限 | |
--publish , -p | Publish a container’s port(s) to the host | |
--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 | Username or UID (format: <name | |
--userns | 用户要使用的名称空间 | |
--uts | UTS命名空间的使用 | |
--volume , -v | 绑定安装卷 | |
--volume-driver | 容器的体积驱动可选 | |
--volumes-from | 山卷从指定的容器(S) | |
--workdir , -w | 容器内的工作目录 |
------------
##### 非主流用法:###### 使用image创建container并执行相应命令,然后停止$ docker run centos echo ‘123’
Unable to find image ‘centos
这是最简单的方式,跟在本地直接执行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窗口|
部分信息可能已经过时