查看具体代码 https://docs.docker.com/
查看在线容器Explore Docker's Container Image Repository | Docker Hub
打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包 分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装 部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。
bashdocker run -d #后台运行
docker run -p 6379:6379 #暴露端口
docker run -name redis #容器命名 redis:latest redis的最新版本
--add-host | 添加自定义主机到 IP 的映射 (host:ip) | |
---|---|---|
--attach ,-a | 连接到 STDIN、STDOUT 或 STDERR | |
--blkio-weight | 阻止 IO(相对权重),介于 10 和 1000 之间,或 0 禁用(默认为 0) | |
--blkio-weight-device | 块 IO 权重(相对设备权重) | |
--cap-add | 添加 Linux 功能 | |
--cap-drop | 放弃 Linux 功能 | |
--cgroup-parent | 容器的可选父 cgroup | |
--cgroupns | 原料药典 1.41+ 要使用的 Cgroup 命名空间(host|private)"host":在 Docker 主机的 cgroup 命名空间"private"中运行容器:在其自己的私有 cgroup 命名空间""中运行容器:使用由守护程序上的默认 cgroupns 模式选项配置的 cgroup 命名空间(默认) | |
--cidfile | 将容器 ID 写入文件 | |
--cpu-count | CPU 数量(仅限视窗) | |
--cpu-percent | CPU 百分比(仅限视窗) | |
--cpu-period | 限制 CPU CFS(完全公平的调度程序)期限 | |
--cpu-quota | 限制 CPU CFS(完全公平的调度程序)配额 | |
--cpu-rt-period | 原料药典 1.25+ 以微秒为单位限制 CPU 实时周期 | |
--cpu-rt-runtime | 原料药典 1.25+ 以微秒为单位限制 CPU 实时运行时间 | |
--cpu-shares ,-c | CPU 份额(相对权重) | |
--cpus | 原料药典 1.25+ 处理器数量 | |
--cpuset-cpus | 允许执行的 CPU (0-3, 0,1) | |
--cpuset-mems | 允许执行的 MEM (0-3, 0,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 | 容器新安全软件域名 | |
--entrypoint | 覆盖映像的默认入口点 | |
--env ,-e | 设置环境变量 | |
--env-file | 读取环境变量文件 | |
--expose | 公开一个端口或一系列端口 | |
--gpus | 原料药典 1.40+ 要添加到容器的 GPU 设备("全部"用于传递所有 GPU) | |
--group-add | 添加要加入的其他组 | |
--health-cmd | 运行命令以检查运行状况 | |
--health-interval | 运行检查之间的时间(毫秒|s|m|h)(默认值 0s) | |
--health-retries | 报告不正常所需的连续失败 | |
--health-start-period | 原料药典 1.29+ 容器在启动运行状况重试倒计时之前要初始化的起始时间段 (ms|s|m|h) (默认值 0s) | |
--health-timeout | 允许运行一次检查的最长时间 (ms|s|m|h) (默认值 0s) | |
--help | 打印用法 | |
--hostname ,-h | 容器主机名 | |
--init | 原料药典 1.25+ 在容器内运行一个 init,用于转发信号并获取进程 | |
--interactive ,-i | 即使未连接,也保持 STDIN 打开 | |
--io-maxbandwidth | 系统驱动器的最大 IO 带宽限制(仅限 Windows) | |
--io-maxiops | 系统驱动器的最大 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 | 调整容器内存交换(0 到 100) |
--mount | 将文件系统挂载附加到容器 | |
--name | 为容器分配名称 | |
--net | 将容器连接到网络 | |
--net-alias | 为容器添加网络范围的别名 | |
--network | 将容器连接到网络 | |
--network-alias | 为容器添加网络范围的别名 | |
--no-healthcheck | 禁用任何容器指定的运行状况检查 | |
--oom-kill-disable | 禁用OOM杀手 | |
--oom-score-adj | 调整主机的 OOM 首选项(-1000 到 1000) | |
--pid | 要使用的 PID 命名空间 | |
--pids-limit | 调整容器 pids 限制(设置为 -1 表示无限制) | |
--platform | 原料药典 1.32+ 如果服务器支持多平台,则设置平台 | |
--privileged | 为此容器授予扩展权限 | |
--publish ,-p | 将容器的端口发布到主机 | |
--publish-all ,-P | 将所有公开的端口发布到随机端口 | |
--pull | missing | 在运行之前拉取映像("始终"|"缺少"|"从不") |
--read-only | 以只读方式挂载容器的根文件系统 | |
--restart | no | 在容器退出时应用的重新启动策略 |
--rm | 容器退出时自动删除容器 | |
--runtime | 用于此容器的运行时 | |
--security-opt | 安全选项 | |
--shm-size | /dev/shm 的大小 | |
--sig-proxy | true | 代理接收到进程的信号 |
--stop-signal | SIGTERM | 停止容器的信号 |
--stop-timeout | 原料检修 1.25+ 超时(以秒为单位)停止容器 | |
--storage-opt | 容器的存储驱动程序选项 | |
--sysctl | 系统选项 | |
--tmpfs | 挂载 tmpfs 目录 | |
--tty ,-t | 分配伪 TTY | |
--ulimit | 乌利米特选项 | |
--user ,-u | 用户名或 UID(格式:<name|uid>[:<group|gid>]) | |
--userns | 要使用的用户命名空间 | |
--uts | 要使用的 UTS 命名空间 | |
--volume ,-v | 绑定装入卷 | |
--volume-driver | 容器的可选卷驱动程序 | |
--volumes-from | 从指定的容器装入卷 | |
--workdir ,-w | 容器内的工作目录 |
根据yml文件,在文件根目录使用
bashdocker-compose up -d #docker 后台启动
示例(wordpress stack.yml):
ymlversion: '3.1'
services:
wordpress:
image: wordpress
restart: always
ports:
- 8080:80
environment:
WORDPRESS_DB_HOST: db
WORDPRESS_DB_USER: exampleuser
WORDPRESS_DB_PASSWORD: examplepass
WORDPRESS_DB_NAME: exampledb
volumes:
- wordpress:/var/www/html
db:
image: mysql:5.7
restart: always
environment:
MYSQL_DATABASE: exampledb
MYSQL_USER: exampleuser
MYSQL_PASSWORD: examplepass
MYSQL_RANDOM_ROOT_PASSWORD: '1'
volumes:
- db:/var/lib/mysql
volumes:
wordpress:
db:
本文作者:墨洺的文档
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!