前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【知识分享】docker run命令详解

【知识分享】docker run命令详解

作者头像
辉哥
发布2021-04-01 10:41:12
5430
发布2021-04-01 10:41:12
举报
文章被收录于专栏:区块链入门区块链入门

1. 参考

(1)Docker run 命令参数及使用

https://blog.csdn.net/luolianxi/article/details/107169954

(2)Docker run 命令简洁清爽版

https://www.runoob.com/docker/docker-run-command.html

(3)docker run官网说明

https://docs.docker.com/engine/reference/commandline/run/

(4)【知识分享】Docker 命令大全

https://cloud.tencent.com/developer/article/1463175

语法

代码语言:javascript
复制
#运行示例
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]  
#运行docker内命令
docker run -it IMAGE java -version

OPTIONS说明:

中文说明:

代码语言:javascript
复制
--add-host list                 添加自定义主机到ip映射(书写格式为:主机:ip)
-a, --attach list               附加到STDIN、STDOUT或STDERR上
--blkio-weight uint16           Block IO (相对权重),取值10到1000之间,0为禁用(默认0)
--blkio-weight-device list      Block IO weight (相对于设备的权重) (默认为数组的形式)
--cap-add list                  添加Linux功能
--cap-drop list                 删除Linux功能
--cgroup-parent string          容器的可选父级对照组项
--cidfile string                将容器ID写入文件
--cpu-period int                限制CPU CFS(完全公平调度程序)周期
--cpu-quota int                 限制CPU CFS(完全公平的调度程序)上限
--cpu-rt-period int             限制CPU运行时周期(以微秒为单位)
--cpu-rt-runtime int            限制CPU实时运行时间(以微秒为单位)
-c, --cpu-shares int            CPU 共享 (相对权重的设定)
--cpus decimal                  设定cpu的数量
--cpuset-cpus string            允许执行的cpu (0-3,0,1)
--cpuset-mems string            允许执行的MEMs (0-3,0,1)
-d, --detach                    在后台运行容器并打印容器ID
--detach-keys string            覆盖分离容器的键序列
--device list                   向容器添加主机设备
--device-cgroup-rule list       向 cgroup 允许的设备列表中添加一个或多个规则
--device-read-bps list          限定设备的读取速率(单位: byte/s)(默认为 [])
--device-read-iops list         限定设备的读取速率(单位:IO/s)(默认为 [])
--device-write-bps list         限定设备的写入速率(单位: byte/s)(默认为 [])
--device-write-iops list        限定设备的写入速率(单位:IO/s)(默认为 [])
--disable-content-trust         跳过镜像验证(默认为 true)
--dns list                      设置自定义DNS服务器
--dns-option list               设置DNS选项
--dns-search list               设置自定义的DNS搜索域
--entrypoint string             覆盖镜像的默认入口点
-e, --env list                  设置环境变量
--env-file list                 读取环境变量内容
--expose list                   公开一个端口或多个端口
--group-add list                添加其他要加入的组
--health-cmd string             命令运行以检查健康
--health-interval duration      运行检查之间的时间(ms|s|m|h)(默认为 0s)
--health-retries int            连续的失败需要报告不健康
--health-start-period duration  启动健康重试倒计时前容器初始化的启动周期(ms|s|m|h)(默认为 0s)
--health-timeout duration       健康检查运行情况的最大时间值 格式为:(ms|s|m|h) (默认 0s)
--help                          打印出使用情况
-h, --hostname string           定义容器主机名
--init                          在容器中运行初始化,以转发信号并获取进程
-i, --interactive               即使没有连接,也保持STDIN开放
--ip string                     设定容器的 IPv4 地址 (例如,192.168.155.139)
--ip6 string                    设定IPv6地址(例如,2001:db8::33)
--ipc string                    使用IPC模式
--isolation string              容器隔离技术
--kernel-memory bytes           内核内存限制
-l, --label list                在容器上设置元数据
--label-file list               在以行分隔的标签文件中读取
--link list                     向另一个容器添加链接
--link-local-ip list            容器 IPv4/IPv6 链接本地地址
--log-driver string             设定容器的日志驱动
--log-opt list                  设定日志驱动器选项
--mac-address string            配置容器MAC地址(例如,92:d0:c6:0a:29:33)
-m, --memory bytes              设定内存限额
--memory-reservation bytes      内存软限制
--memory-swap bytes             交换限制等于内存加上交换:'-1',以启用无限交换
--memory-swappiness int         优化容器内存交换 (0 到 100) (默认为 -1)
--mount mount                   将文件系统挂载附加到容器
--name string                   为容器指定一个名称
--network string                将容器连接到网络
--network-alias list            为容器连接的网络添加别名
--no-healthcheck                禁止任何容器指定 HEALTHCHECK
--oom-kill-disable              禁止OOM事件被杀死
--oom-score-adj int             优化主机的OOM事件 ,参数范围 (-1000 到 1000)
--pid string                    设定PID命名
--pids-limit int                优化容器pid限制(如果设置-1则为无限制)
--privileged                    赋予容器扩展的权限
-p, --publish list              将容器的端口发布到主机
-P, --publish-all               将所有公开的端口发布到随机端口
--read-only                     将容器的根文件系统挂载为只读(后面会详细讲到)
--restart string                配置容器的重启策略,当容器退出时重新启动(默认为“no”)
--rm                            当容器退出时自动移除这个容器
--runtime string                使用容器的运行时
--security-opt list             指定docker启动的安全项
--shm-size bytes                /dev/shm 的大小(这个可以使其容量进行动态的扩展)
--sig-proxy                     设置代理接收京城信号 (默认为 true)
--stop-signal string            停止容器的信号 (默认为 "SIGTERM")
--stop-timeout int              设置超时停止容器(以秒为单位)
--storage-opt list              设定容器的存储驱动程序选项
--sysctl map                    指定系统控制项 (默认为 map[] 的格式)
--tmpfs list                    挂载tmpfs目录
-t, --tty                       为当前容器分配一个客户端
--ulimit ulimit                 启动需要限制的项(默认为数组的形式)
-u, --user string               用户名或UID(格式为: <name|uid>[:<group|gid>])
--userns string                 使用用户名称空间
--uts string                    使用UTS名称空间
-v, --volume list               绑定安装卷(关于容器卷,在Docker容器数据卷中会具体的讲解)
--volume-driver string          容器的可选卷驱动程序
--volumes-from list             指定容器装载卷
-w, --workdir string            容器内的工作目录

更多说明参考官网:https://docs.docker.com/engine/reference/commandline/run/

启动参数

格式:docker run <选项> <容器名> <镜像:标签>

代码语言:javascript
复制
$ sudo docker run -d \
--name gitlab \
--hostname 192.168.10.30 \
-p80:80 -p443:443 -p22:22 \
--restart unless-stopped \
-v /home/sbw/qj/docker/gitlab/config:/etc/gitlab \
-v /home/sbw/qj/docker/gitlab/data:/var/opt/gitlab \
-v /home/sbw/qj/docker/gitlab/logs:/var/log/gitlab \
twang2218/gitlab-ce-zh:11.1    #指定镜像
e890b9c7fe670b770276a0f85c0f749e5556ef6ec8d117bf4bb33e0ca1ab3335
~/qj/docker/gitlab$ docker ps
CONTAINER ID        IMAGE                         COMMAND             CREATED             STATUS                   PORTS                                                               NAMES
e890b9c7fe67        twang2218/gitlab-ce-zh:11.1   "/assets/wrapper"   2 minutes ago       Up 2 minutes (healthy)   0.0.0.0:2222->22/tcp, 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp   gitlab

说明:

-d 后台启动,打印容器id

-p 8080:80 将宿主机的端口映射至容器暴露的端口

--name gitlab 设置容器名称为gitlab

--restart unless-stopped 设置容器重启策略

Docker容器的重启策略:

no 默认策略,在容器退出时不重启容器

on-failure 在容器非正常退出时(退出状态非0),才会重启容器

on-failure:3 在容器非正常退出时重启容器,最多重启3次

always 在容器退出时总是重启容器

unless-stopped 在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器

--hostname 192.168.10.30 设置主机名或域名

-v 挂载目录至宿主机,将gitlab的配置文件、数据文件、log文件的目录映射到本地目录中

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 参考
    • 语法
      • OPTIONS说明:
    • 启动参数
    相关产品与服务
    容器服务
    腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档