docker容器与容器云2_使用Docker run运行容器

使用Docker run命令可以创建并运行一个新的容器,该命令后面通常跟着要运行的镜像的名称和一个或多个参数。

使用Docker run运行容器

docker容器与容器云2_使用Docker run运行容器

Docker run命令的基本用法

Docker run命令用于创建并启动一个新的容器,其基本语法如下:

docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

各选项的含义如下:

选项 含义
d 以后台模式运行容器
i 以交互模式运行容器,通常与t一起使用
t 为容器重新分配一个伪输入终端
name 为容器指定一个名称
p 将容器内部的端口映射到宿主机的一个端口
v 将宿主机的一个目录或文件挂载到容器内部
rm 在容器退出后自动删除容器
link 链接到另一个容器
net 指定容器的网络连接类型
e 设置环境变量
env 设置环境变量,格式为KEY=VALUE
volumesfrom 从其他容器挂载卷
capadd 添加容器的特权能力
device 添加主机设备到容器中
restart 设置容器重启策略
privileged 给容器添加特权,如设置IPC、内存等限制
tmpfs 添加一个临时文件系统挂载点
readonly 设置容器为只读模式
securityopt 设置SELinux安全选项
cpushares 设置容器CPU使用权重
memoryswap 设置容器内存交换区大小
oomkilldisable 禁用OOM Killer(内存溢出杀手)
pidslimit 设置容器PID数量限制
cpus 设置容器可以使用的CPU核数
ulimit 设置容器的资源限制,如文件描述符、最大线程数等
userns 设置容器使用的用户命名空间
ipc 设置容器的IPC机制,如共享内存、信号量等
uts 设置容器的UTS命名空间
netalias 设置容器的网络别名
macaddress 设置容器的MAC地址
label 设置容器的标签(metadata)
workdir 设置容器的工作目录
entrypoint 覆盖容器的入口点(默认为镜像的入口点)
cmd 覆盖镜像的默认命令(ENTRYPOINT指令)和参数(CMD指令)
healthcmd 设置健康检查命令,用于检查容器是否正常运行
healthinterval 设置健康检查的时间间隔(秒)
healthtimeout 设置健康检查的超时时间(秒)
healthretries 设置健康检查重试次数
healthstartperiod 设置健康检查开始前的等待时间(秒)
logdriver 设置日志驱动(如jsonfile、syslog等)
logopt 设置日志选项,如日志级别、输出格式等
storagedriver 设置存储驱动(如aufs、overlay2等)
storageopt 设置存储选项,如存储后端的URL、认证信息等
selinuxoptions 设置SELinux选项,如上下文、策略等
securityopts 设置安全选项,如seccomp、apparmor等
stopsignal 设置停止容器的信号(如SIGTERM、SIGKILL等)
initpath 设置初始化进程路径(仅适用于自定义init镜像)
initargs 设置初始化进程参数(仅适用于自定义init镜像)
busyboxoptions 设置busybox选项,如共享库路径、环境变量等(仅适用于busybox镜像)
capabilities capabilities.txt文件的内容添加到容器中(仅适用于自定义镜像)
w, webhook 如果容器状态改变,发送HTTP请求到指定的URL(仅适用于Docker API v2.1或更高版本)

常用示例

1、后台运行一个Nginx容器,并将宿主机的80端口映射到容器的80端口:

docker run d p 80:80 nginx

2、以交互模式运行一个MySQL容器,并指定用户名和密码:

docker run it e MYSQL_ROOT_PASSWORD=mypassword p 3306:3306 mysql:latest /bin/bash

3、创建一个名为mycontainer的容器,并在其中运行一个简单的shell命令:

docker容器与容器云2_使用Docker run运行容器
docker run d mycontainer /bin/echo "Hello, World!" > /tmp/hello.txt && cat /tmp/hello.txt && sleep infinity & echo $! > /var/run/mycontainer.pid && chmod +x /var/run/mycontainer.pid && chown root:root /var/run/mycontainer.pid && chown root:root /tmp/hello.txt && chown root:root /var/run/mycontainer.pid && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp/hello.txt && chmod u+rwx /var/run/mycontainer.pid && chmod u+rwx /tmp与回答:解答与问题1:如何查看正在运行的Docker容器?
docker容器与容器云2_使用Docker run运行容器

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/545675.html

(0)
K-seoK-seoSEO优化员
上一篇 2024年6月21日 11:37
下一篇 2024年6月21日 11:44

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入