在 Docker 中创建容器有几种常用方法,下面我将详细介绍各种方式及其使用场景。
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
# 创建容器但不启动
docker create --name my-container nginx
# 启动已创建的容器
docker start my-container
FROM ubuntu:latest
RUN apt-get update && apt-get install -y python3
CMD ["python3", "--version"]
docker build -t my-python-app .
docker run my-python-app
创建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
希望这些信息对您有所帮助!如需更具体的帮助,请提供您想运行的容器类型或应用场景。