时间:2025.3.18
一、docker run 命令
docker run 命令用于创建并启动一个新的容器。
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用参数说明:
-d
: 后台运行容器并返回容器 ID。-it
: 交互式运行容器,分配一个伪终端。--name
: 给容器指定一个名称。-p
: 端口映射,格式为host_port:container_port
。-v
: 挂载卷,格式为host_dir:container_dir
。--rm
: 容器停止后自动删除容器。--env
或-e
: 设置环境变量。--network
: 指定容器的网络模式。--restart
: 容器的重启策略(如no
、on-failure
、always
、unless-stopped
)。-u
: 指定用户。
实例
1. 基本使用
拉取 ubuntu 镜像并在前台启动一个容器。
docker run ubuntu
2. 后台运行容器
在后台运行 ubuntu 容器并返回容器 ID。
docker run -d ubuntu
3. 交互式运行并分配终端
以交互模式运行 ubuntu 容器,并启动一个 Bash shell。
docker run -it ubuntu /bin/bash
4. 指定容器名称
运行一个 ubuntu 容器,并将其命名为 my_container。
docker run --name my_container ubuntu
5. 端口映射
将本地主机的 8080 端口映射到容器内的 80 端口,运行 nginx 容器。
docker run -p 8080:80 nginx
6. 挂载卷
将主机的 /host/data 目录挂载到容器内的 /container/data 目录。
docker run -v /host/data:/container/data ubuntu
7. 设置环境变量
设置环境变量 MY_ENV_VAR 的值为 my_value,运行 ubuntu 容器。
docker run -e MY_ENV_VAR=my_value ubuntu
8. 使用网络模式
使用主机的网络模式运行 nginx 容器。
docker run --network host nginx
9. 指定重启策略
设置容器的重启策略为 always,即使容器停止也会自动重启。
docker run --restart always nginx
10. 指定用户
以 user123 用户运行 ubuntu 容器。
docker run -u user123 ubuntu
11. 组合多个选项
后台运行一个命名为 webserver 的 nginx 容器,将主机的 8080 端口映射到容器的 80 端口,并将主机的 /host/data 目录挂载到容器的 /data 目录。
docker run -d -p 8080:80 -v /host/data:/data --name webserver nginx
二、docker 其他命令
1.容器生命周期管理
- run - 创建并启动一个新的容器。
- start/stop/restart - 这些命令主要用于启动、停止和重启容器。
- kill - 立即终止一个或多个正在运行的容器
- rm - 于删除一个或多个已经停止的容器。
- pause/unpause - 暂停和恢复容器中的所有进程。
- create - 创建一个新的容器,但不会启动它。
- exec - 在运行中的容器内执行一个新的命令。
- rename - 重命名容器。
2.容器操作
- ps - 列出 Docker 容器
- inspect - 获取 Docker 对象(容器、镜像、卷、网络等)的详细信息。
- top - 显示指定容器中的正在运行的进程。
- attach - 允许用户附加到正在运行的容器并与其交互。
- events - 获取 Docker 守护进程生成的事件。
- logs - 获取和查看容器的日志输出。
- wait - 允许用户等待容器停止并获取其退出代码。
- export - 将容器的文件系统导出为 tar 归档文件。
- port - 显示容器的端口映射信息。
- stats - 实时显示 Docker 容器的资源使用情况。
- update - 更新 Docker 容器的资源限制,包括内存、CPU 等。
3.容器的root文件系统(rootfs)命令
4.镜像仓库
- login/logout - 管理 Docker 客户端与 Docker 注册表的身份验证。
- pull - 从 Docker 注册表(例如 Docker Hub)中拉取(下载)镜像到本地。
- push - 将本地构建的 Docker 镜像推送(上传)到 Docker 注册表(如 Docker Hub 或私有注册表)。
- search - 用于在 Docker Hub 或其他注册表中搜索镜像。
5.本地镜像管理
- images - 列出本地的 Docker 镜像。
- rmi - 删除不再需要的镜像。
- tag - 创建本地镜像的别名(tag)。
- build - 从 Dockerfile 构建 Docker 镜像。
- history - 查看指定镜像的历史层信息。
- save - 将一个或多个 Docker 镜像保存到一个 tar 归档文件中。
- load - 从由 docker save 命令生成的 tar 文件中加载 Docker 镜像。
- import - 从一个 tar 文件或 URL 导入容器快照,从而创建一个新的 Docker 镜像。
6.info|version
7.Docker Compose
- docker compose run - 启动一个新容器并运行一个特定的应用程序。
- docker compose rm - 启动一个新容器并删除一个特定的应用程序。
- docker compose ps - 从 docker compose 检查 docker 容器状态。
- docker compose build - 构建 docker compose 文件。
- docker compose up - 运行 docker compose 文件。
- docker compose ls - 列出 docker compose 服务。
- docker compose start - 启动 docker compose 文件创建的容器。
- docker compose restart - 重启 docker compose 文件创建的容器。
8.网络命令
docker network ls
: 列出所有网络。docker network create <network>
: 创建一个新的网络。docker network rm <network>
: 删除指定的网络。docker network connect <network> <container>
: 连接容器到网络。docker network disconnect <network> <container>
: 断开容器与网络的连接。
详细内容查看:docker network 命令
9.卷命令
docker volume ls
: 列出所有卷。docker volume create <volume>
: 创建一个新的卷。docker volume rm <volume>
: 删除指定的卷。docker volume inspect <volume>
: 显示卷的详细信息。