在Docker实战中,启动Docker容器是一个基础操作。根据您的需求和场景,有几种不同的方式来启动容器:
1. 使用 docker run
命令创建并启动一个新的容器
docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]
# 示例:使用官方的Nginx镜像启动一个名为myweb的新容器,并映射端口
docker run --name myweb -d -p 80:80 nginx
-d
参数表示以守护进程模式运行容器(后台运行)--name
参数指定容器的名称-p
参数用于将主机端口映射到容器内部端口- 如果不指定
COMMAND
和ARG
,则默认使用镜像中的ENTRYPOINT或CMD定义的命令启动容器
2. 启动已停止的容器
如果容器已经存在但处于停止状态,可以使用 docker start
命令启动它:
docker start <container_name_or_id>
# 示例:启动名为myweb的容器
docker start myweb
3. 重新启动容器
如果您想确保容器即使在退出后也会自动重启,可以在创建容器时使用 --restart
标志:
docker run --restart=always --name mypersistentapp -d myimage:latest
其中 --restart
可以接受的策略包括:no
, on-failure
, unless-stopped
, 和 always
。
4. 进入正在运行的容器执行命令
若要在容器内执行一次性命令,而不是启动新的进程,可以在 docker run
中直接指定命令:
docker run -it --rm myimage bash
# -it 为交互式终端模式
# --rm 表示容器退出后自动删除
# 此例中,bash 是在容器内部要执行的命令
高级选项
- 挂载卷:通过
-v
或--volume
将主机目录与容器内部目录进行绑定 - 设置环境变量:通过
-e
或--env
设置容器内的环境变量 - 限制资源:例如使用
--memory
(-m
) 限制内存使用量,或--cpus
限制CPU核心数
务必结合实际应用场景选择合适的启动参数。