编辑
2023-02-08
undefined
0

目录

查看具体代码 https://docs.docker.com/

查看在线容器Explore Docker's Container Image Repository | Docker Hub

打包分发和部署

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包 分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装 部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux。

bash
docker 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-countCPU 数量(仅限视窗)
--cpu-percentCPU 百分比(仅限视窗)
--cpu-period限制 CPU CFS(完全公平的调度程序)期限
--cpu-quota限制 CPU CFS(完全公平的调度程序)配额
--cpu-rt-period原料药典 1.25+ 以微秒为单位限制 CPU 实时周期
--cpu-rt-runtime原料药典 1.25+ 以微秒为单位限制 CPU 实时运行时间
--cpu-shares,-cCPU 份额(相对权重)
--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-trusttrue跳过图像验证
--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)
--ipIPv4 地址(例如 172.30.100.104)
--ip6IPv6 地址(例如,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将所有公开的端口发布到随机端口
--pullmissing在运行之前拉取映像("始终"|"缺少"|"从不")
--read-only以只读方式挂载容器的根文件系统
--restartno在容器退出时应用的重新启动策略
--rm容器退出时自动删除容器
--runtime用于此容器的运行时
--security-opt安全选项
--shm-size/dev/shm 的大小
--sig-proxytrue代理接收到进程的信号
--stop-signalSIGTERM停止容器的信号
--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容器内的工作目录

docker yml

根据yml文件,在文件根目录使用

bash
docker-compose up -d #docker 后台启动

示例(wordpress stack.yml):

yml
version: '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 许可协议。转载请注明出处!