插件窝 干货文章 docker怎么创建容器

docker怎么创建容器

容器 Docker 运行 创建 326    来源:    2025-04-06

Docker 创建容器的详细指南

在 Docker 中创建容器有几种常用方法,下面我将详细介绍各种方式及其使用场景。

1. 从镜像创建并运行容器(最常用方式)

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用选项:

  • -d--detach: 后台运行容器
  • -it: 交互式运行(通常用于需要终端交互的容器)
  • --name: 为容器指定名称
  • -p--publish: 端口映射(主机端口:容器端口)
  • -v--volume: 挂载数据卷
  • --rm: 容器退出后自动删除
  • -e--env: 设置环境变量

示例:

# 后台运行Nginx容器,映射80端口
docker run -d --name my-nginx -p 8080:80 nginx

# 交互式运行Ubuntu容器
docker run -it --name my-ubuntu ubuntu /bin/bash

# 带环境变量运行MySQL容器
docker run -d --name mysql-db -e MYSQL_ROOT_PASSWORD=my-secret-pw -p 3306:3306 mysql

2. 先创建后启动容器

# 创建容器但不启动
docker create --name my-container nginx

# 启动已创建的容器
docker start my-container

3. 使用Dockerfile构建镜像并创建容器

  1. 创建Dockerfile文件
FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3
CMD ["python3", "--version"]
  1. 构建镜像
docker build -t my-python-app .
  1. 运行容器
docker run my-python-app

4. 使用docker-compose创建容器(适合多容器应用)

创建docker-compose.yml文件:

version: '3'
services:
  web:
    image: nginx
    ports:
      - "8080:80"
  db:
    image: mysql
    environment:
      MYSQL_ROOT_PASSWORD: example

然后运行:

docker-compose up -d

容器管理常用命令

# 查看运行中的容器
docker ps

# 查看所有容器(包括停止的)
docker ps -a

# 停止容器
docker stop 容器名/容器ID

# 启动已停止的容器
docker start 容器名/容器ID

# 删除容器
docker rm 容器名/容器ID

# 进入运行中的容器
docker exec -it 容器名/容器ID /bin/bash

# 查看容器日志
docker logs 容器名/容器ID

注意事项

  1. 容器是临时性的,默认情况下容器停止后数据不会保留
  2. 重要数据应使用数据卷(-v)或绑定挂载
  3. 生产环境建议限制容器资源使用(--memory, --cpus等)
  4. 使用--restart策略可以控制容器意外退出时的行为

希望这些信息对您有所帮助!如需更具体的帮助,请提供您想运行的容器类型或应用场景。