Docker容器启动和停止的操作指南

 更新时间:2025年04月03日 09:56:39   作者:一只蜗牛儿  
Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包在一个轻量级的容器中,并在任何支持 Docker 的机器上运行,本文将详细介绍如何精确地启动和停止 Docker 容器,提供一系列常见的 Docker 启动与停止操作的代码示例,帮助你快速上手,需要的朋友可以参考下

前言

Docker 是一个开源的应用容器引擎,允许开发者将应用及其依赖打包在一个轻量级的容器中,并在任何支持 Docker 的机器上运行。掌握 Docker 容器的启动和停止管理是开发者和运维人员的基础技能。本文将详细介绍如何精确地启动和停止 Docker 容器,提供一系列常见的 Docker 启动与停止操作的代码示例,帮助你快速上手。

1. Docker 启动操作

1.1 启动 Docker 服务

在使用 Docker 之前,首先要确保 Docker 服务已经启动。以下命令检查并启动 Docker 服务:

# 检查 Docker 服务状态
sudo systemctl status docker

# 启动 Docker 服务
sudo systemctl start docker

# 设置 Docker 开机自动启动
sudo systemctl enable docker

如果 Docker 没有安装,可以使用以下命令进行安装(以 Ubuntu 为例):

sudo apt update
sudo apt install docker.io

1.2 启动 Docker 容器

可以使用 docker run 命令来启动一个新的 Docker 容器。假设我们想要启动一个基于 nginx 镜像的容器:

# 使用 nginx 镜像启动一个容器
docker run -d --name my-nginx -p 8080:80 nginx
  • -d:以后台模式运行容器(即 detached 模式)。
  • --name my-nginx:指定容器的名称为 my-nginx
  • -p 8080:80:将容器的 80 端口映射到宿主机的 8080 端口。
  • nginx:指定使用 nginx 镜像。

执行上述命令后,容器会在后台启动,并且可以通过 http://localhost:8080 访问 nginx 服务。

1.3 启动已存在的容器

如果容器已创建但处于停止状态,可以使用以下命令启动它:

# 启动一个已存在的容器
docker start my-nginx

1.4 启动容器并进入交互模式

有时我们需要进入容器内进行操作,可以使用 docker exec 命令:

# 进入正在运行的容器,启动一个交互式终端
docker exec -it my-nginx /bin/bash
  • -it:使容器运行在交互模式并分配伪终端。
  • /bin/bash:进入容器的 bash shell。

2. Docker 停止操作

2.1 停止运行中的容器

停止一个正在运行的容器可以使用 docker stop 命令:

# 停止正在运行的容器
docker stop my-nginx

执行此命令后,容器会被优雅地停止。如果容器没有在默认的 10 秒内停止,可以使用 -t 参数指定超时时间:

# 设置超时时间为 5 秒
docker stop -t 5 my-nginx

2.2 强制停止容器

如果容器没有正常停止,可以使用 docker kill 命令强制停止容器:

# 强制停止正在运行的容器
docker kill my-nginx

2.3 停止所有运行中的容器

如果需要一次性停止所有正在运行的容器,可以结合 docker ps 和 docker stop 命令:

# 停止所有正在运行的容器
docker stop $(docker ps -q)
  • docker ps -q:获取所有正在运行的容器的容器 ID。
  • docker stop $(docker ps -q):将所有容器 ID 作为参数传递给 docker stop 命令,停止所有容器。

2.4 停止并删除容器

有时我们在停止容器后还需要删除容器,可以使用 docker rm 命令:

# 停止并删除容器
docker stop my-nginx
docker rm my-nginx

或者,结合 -f 参数,可以强制停止并删除容器:

# 强制停止并删除容器
docker rm -f my-nginx

3. Docker 容器状态管理

3.1 查看容器状态

可以使用 docker ps 查看当前正在运行的容器:

# 查看正在运行的容器
docker ps

如果想查看所有容器(包括已停止的容器),可以加上 -a 参数:

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

3.2 查看容器的日志

可以通过 docker logs 命令查看容器的输出日志:

# 查看容器的日志
docker logs my-nginx

如果容器是运行在后台模式下,可以加上 -f 参数,实时查看容器日志:

# 实时查看容器日志
docker logs -f my-nginx

4. Docker 容器的重启操作

4.1 重启容器

有时我们需要重新启动一个容器,可以使用 docker restart 命令:

# 重启容器
docker restart my-nginx

4.2 设置容器自动重启策略

如果希望容器在 Docker 服务重启后自动启动,可以使用 --restart 参数来设置重启策略。例如:

# 启动容器时设置自动重启策略
docker run -d --name my-nginx --restart always nginx

重启策略包括以下几种:

  • no:容器退出时不重启。
  • always:容器退出时总是重启。
  • unless-stopped:容器退出时重启,除非容器被手动停止。
  • on-failure:容器退出时重启,且仅在非零退出状态时重启。

5. 高级 Docker 操作

5.1 Docker 容器的资源限制

在启动容器时,可以通过 -m 参数限制容器的内存使用:

# 启动容器并限制内存使用
docker run -d --name my-nginx -m 256m nginx

同时也可以设置 CPU 限制:

# 限制容器使用 CPU 数量
docker run -d --name my-nginx --cpus="1.0" nginx

5.2 Docker 容器的网络配置

可以使用 --network 参数配置容器的网络模式:

# 使用自定义网络模式启动容器
docker network create my_network
docker run -d --name my-nginx --network my_network nginx

总结

Docker 是一个强大的工具,用于创建、部署和管理容器化应用。掌握 Docker 容器的启动和停止操作是每个开发者和运维人员的基础技能。本文通过详细的示例介绍了 Docker 容器的启动、停止、重启等常见操作,帮助你轻松管理容器。

常见的 Docker 操作包括:

  • 启动、停止、重启容器。
  • 配置容器的自动重启策略。
  • 查看容器的状态和日志。
  • 强制停止容器。
  • 使用高级操作限制容器的资源使用。

通过这些基本操作,您可以轻松管理 Docker 容器,提升开发和运维的效率。

到此这篇关于Docker容器启动和停止的写操作指南的文章就介绍到这了,更多相关Docker启动和停止内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 使用 Docker 企业版搭建自己的私有注册服务器

    使用 Docker 企业版搭建自己的私有注册服务器

    这篇文章主要介绍了使用 Docker 企业版搭建自己的私有注册服务器的相关资料,需要的朋友可以参考下
    2018-11-11
  • docker容器启用ipv6地址的方法流程

    docker容器启用ipv6地址的方法流程

    Docker默认不开启IPv6配置,某些场景我们又需要IPv6网络支持,随着IPv6的普及,以后的使用场景会越来越多,所以本文给大家介绍了docker容器启用ipv6地址方法,用ipv6地址访问容器方法流程、创建一个nginx容器用ipv6地址访问测试流程,需要的朋友可以参考下
    2024-08-08
  • Docker 部署分布式搜索引擎 Elastic Search的详细过程

    Docker 部署分布式搜索引擎 Elastic Search的详细过程

    Elasticsearch是一款非常强大的开源搜索引擎,具备非常多强大功能,可以帮助我们从海量数据中快速找到需要的内容,这篇文章主要介绍了Docker 部署分布式搜索引擎 Elastic Search,需要的朋友可以参考下
    2023-02-02
  • Dockerfile 指令 ADD 和 COPY介绍

    Dockerfile 指令 ADD 和 COPY介绍

    ADD指令的功能是将主机构建环境(上下文)目录中的文件和目录、以及一个URL标记的文件 拷贝到镜像中,COPY指令和ADD指令功能和使用方式类似。只是COPY指令不会做自动解压工作。本文给大家介绍的非常详细,需要的朋友参考下
    2017-03-03
  • Docker compose搭建ELK服务基本使用

    Docker compose搭建ELK服务基本使用

    这篇文章主要为大家介绍了Docker compose搭建ELK服务基本使用,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • 使用Docker部署Tomcat的实现示例

    使用Docker部署Tomcat的实现示例

    在本地编写好了Spring项目,为了实现能够随时地访问,所以需要将项目部署到服务器,本文主要介绍了使用Docker部署Tomcat的实现示例,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-11
  • docker部署crownblog项目到阿里云的方法步骤

    docker部署crownblog项目到阿里云的方法步骤

    这篇文章主要介绍了docker部署crownblog项目到阿里云的方法步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-05-05
  • Docker重命名镜像名称和TAG操作

    Docker重命名镜像名称和TAG操作

    这篇文章主要介绍了Docker重命名镜像名称和TAG操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • docker搭建kafka集群的方法实现

    docker搭建kafka集群的方法实现

    本文主要介绍了docker搭建kafka集群的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-05-05
  • docker-compose:未找到命令的检查步骤和修复

    docker-compose:未找到命令的检查步骤和修复

    最近在使用docker时,有不少人遇到了一个问题,在容器中找不到docker命令,这个问题可能会导致一些困惑和疑惑,这篇文章主要介绍了docker-compose:未找到命令的检查步骤和修复的相关资料,需要的朋友可以参考下
    2024-08-08

最新评论