1.查看镜像
docker images
2.查询运行中的容器
docker ps
3.查询所有容器(包含运行中与非运行中的)
docker ps -a
4.删除容器 docker rm <container id:容器id>
docker rm 0180925af0ff
5.删除镜像 docker rmi <image id:镜像id>
docker rmi 0180925a00fa
运行镜像一个容器
--name 指定容器名称
-e 指定配置变量
-d 后台运行容器(detach模式)
参数 | 作用 | 示例 | 说明 |
---|---|---|---|
-d | 后台运行容器(detach模式) | docker run -d nginx | 适用于长期运行的服务,如Web服务器 |
--name | 指定容器名称(默认随机生成) | docker run --name my-app | 便于通过名称管理容器(启动、停止、日志查看) |
--rm | 容器退出后自动删除 | docker run --rm alpine | 适用于一次性任务(如临时测试),避免容器残留 |
-it | 交互式终端(组合参数:-i 保持输入,-t 分配伪终端) | docker run -it ubuntu bash | 常用于调试或需要交互的命令(如进入容器Shell) |
-m | 限制容器内存 | -m 2g | 防止容器占用过多内存导致宿主机崩溃 |
--cpus | 限制CPU核心数 | --cpus 1.5 | 允许使用1.5个CPU核心(适用于多容器共享CPU场景) |
--ulimit | 设置系统资源限制(如打开文件数) | --ulimit nofile=65535 | 调整容器内进程的ulimit值 |
--user | 指定运行用户(UID) | --user 1000:1000 | 避免以root权限运行,增强安全性 |
--cap-add | 添加Linux内核权限(如网络管理) | --cap-add NET_ADMIN | 按需授予容器特权(替代--privileged 更安全) |
-p | 端口映射(宿主机端口:容器端口) | -p 8080:80 | 将容器80端口映射到宿主机8080端口 |
--network | 指定容器网络模式 | --network host | 可选模式:bridge (默认)、host 、none 、自定义网络 |
--dns | 自定义DNS服务器 | --dns 8.8.8.8 | 覆盖容器默认DNS配置 |
-v | 挂载宿主机目录或Volume到容器 | -v /data:/app/data | 左侧为宿主机路径,右侧为容器路径(支持读写权限控制:-v /data:ro ) |
--mount | 更详细的挂载配置(类型、源、目标、权限等) | --mount type=bind,src=/data,dst=/app/data | 推荐替代-v ,语法更明确(支持volume 、bind 、tmpfs 类型) |
--tmpfs | 挂载临时内存文件系统 | --tmpfs /tmp:size=100m | 数据仅存于内存,容器退出后自动 |
-e | 设置容器内环境变量 | -e MYSQL_ROOT_PASSWORD=123456 | 常用于传递敏感配置或动态参数 |
--env-file | 从文件批量加载环境变量 | --env-file .env | 避免在命令行暴露敏感信息 |
--entrypoint | 覆盖镜像默认入口命令 | --entrypoint /bin/bash | 调试时临时修改容器启动行为 |
--restart | 容器退出时的重启策略 | --restart unless-stopped | 可选值:no (默认)、on-failure 、always 、unless-stopped |
--log-driver | 指定日志驱动(如json-file 、syslog ) | --log-driver json-file --log-opt max-size=10m | 控制日志存储方式与轮转策略 |
--read-only | 容器文件系统只读(需配合Volume写入数据) | --read-only -v /app/data | 防止容器内恶意写入,提升安全性 |
--security-opt | 设置安全选项(如SELinux、AppArmor) | --security-opt seccomp=unconfined | 按需调整安全策略(需谨慎使用) |
docker run -d --name umi-ocr -e HEADLESS=true -p 1224:1224 umi-ocr-paddle