docker run 常用参数

docker run

1.常用参数

bash 复制代码
docker run 
    -d, --detach    # 在后台运行容器。
    --name            # 指定容器的名称。
    -e, --env        # 设置环境变量。
    -p, --publish    # 发布容器的端口到主机。
    -v, --volume    # 挂载卷。
    --rm            # 容器停止后自动删除。
    -it                # 同时使用 -i 和 -t 参数,通常用于需要交互式操作的容器,比如启动一个 Bash shell。
    --network        # 指定容器要连接的网络。
    --restart        # 设置容器的重启策略。
    --user            # 指定以哪个用户身份运行容器内部的进程。
    --privileged    # 给予容器额外的权限。
    --env-file        # 从文件加载环境变量。
    -h x.xx.xx         # 设置容器主机名
    --add-host hostname:IP    # 注入 hostname <> IP 解析

2.示例

bash 复制代码
例:
# 在后台运行一个名为 my-nginx 的容器,并将容器的80端口绑定到主机的8080端口
docker run -d --name nginx -p 8080:80 nginx

# 从镜像运行为容器,指定名字为MyWordPress,--link为链接关系,抓取db容器,将db容器的地址写入到自己的hosts文件中,给容器起个别名为mysql,-p 8080:80表示外部网络要访问内部网络时,-p为定义nat规则,将物理机目标8080端口转换为目标容器的80端口。-d表示以守护进程的方案运行(放在后台运行),如果不加-d进程会占用当前终端,wordpress表示基于wordpress镜像启动这个容器,不加版本型号,就是默认为latest最新稳定版。
docker run -d --name db --env MYSQL_ROOT_PASSWORD=example  mariadb
docker run --name MyWordPress --link db:mysql -p 8080:80 -d wordpress

# 运行名为centos的容器,并在其中以交互式方式启动一个 Bash shell,退出centos容器时,自动删除
docker run -it --rm centos /bin/bash      

# 可以加电自启选项,会跟着真实机重启而重启
docker run --name test2 --restart=always -d wordpress

# 以名为163的镜像启动名为test3的容器,注入host解析www.aaa.com:10.10.22.3
docker run --name test3 --add-host www.aaa.com:10.10.22.3 -d 163

# 挂载当前目录($(pwd))到容器中的 /app 目录,并运行一个 Python 应用
docker run -it --rm -v $(pwd):/app python:3 python /app/my_script.py

# 运行一个容器并将其连接到 my-network 网络
docker run -d --name my-container --network my-network nginx

# 以非 root 用户运行容器
docker run -it --user 1000 ubuntu bash

# 运行一个具有特权的容器,可以访问宿主机的设备
docker run -it --privileged ubuntu bash

# 从文件加载环境变量并运行容器
docker run --env-file ./env.list my-image
相关推荐
小敬爱吃饭2 小时前
Ragflow Docker部署及问题解决方案(界面为Welcome to nginx,ragflow上传文件失败,Docker中的ragflow-cpu-1一直重启)
人工智能·python·nginx·docker·语言模型·容器·数据挖掘
左手厨刀右手茼蒿2 小时前
Linux 内核中的块设备驱动:从原理到实践
linux·嵌入式·系统内核
杨云龙UP2 小时前
从0到1快速学会Linux操作系统(基础),这一篇就够了!
linux·运维·服务器·学习·ubuntu·centos·ssh
HXQ_晴天2 小时前
Ubuntu 设置中文输入法
linux·运维·ubuntu
Dovis(誓平步青云)2 小时前
《Linux 信号入门:搞懂 “进程通信的紧急电话” 到底怎么用(初篇)》
linux·运维·服务器
左手厨刀右手茼蒿2 小时前
Linux 内核中的模块机制:从加载到卸载
linux·嵌入式·系统内核
0vvv02 小时前
删除wsl环境下的Ubuntu系统
linux·运维·ubuntu
@土豆2 小时前
Ubuntu 22.04 运行 Filebeat 7.11.2 崩溃问题分析及解决文档
linux·数据库·ubuntu
木子欢儿2 小时前
Docker Hub 镜像发布指南
java·spring cloud·docker·容器·eureka
C++ 老炮儿的技术栈2 小时前
GCC编译时无法向/tmp 目录写入临时汇编文件,因为设备空间不足,解决
linux·运维·开发语言·汇编·c++·git·qt