在 Ubuntu 上使用 Docker 启动容器中的服务

在本教程中,我们将学习如何在 Ubuntu 上使用 Docker 来构建和启动 Docker 容器中的服务。我们将分步进行,每一步都将包含相应的代码示例和解释。最终目标是能够通过 Dockerfile 创建一个 Docker 镜像,并运行其服务。

流程概述

首先,我们将按照以下步骤进行操作:

步骤 行动 说明
1 安装 Docker 确保你在 Ubuntu 上安装了 Docker。
2 创建 Dockerfile 编写一个 Dockerfile 来定义服务环境。
3 构建 Docker 镜像 使用 Dockerfile 构建一个新的 Docker 镜像。
4 运行 Docker 容器 使用创建的镜像启动一个 Docker 容器。
5 访问容器中的服务 确保服务在容器中正确运行,可以通过访问端口验证。

详细步骤

第一步:安装 Docker

在 Ubuntu 系统上,我们可以使用以下命令来安装 Docker:

# 更新软件包数据库
sudo apt update

# 安装必要的依赖
sudo apt install apt-transport-https ca-certificates curl software-properties-common

# 添加 Docker 的官方 GPG 密钥
curl -fsSL  | sudo apt-key add -

# 添加 Docker 的 APT 源
sudo add-apt-repository "deb [arch=amd64]  $(lsb_release -cs) stable"

# 再次更新软件包数据库
sudo apt update

# 安装 Docker
sudo apt install docker-ce

这段代码做了以下工作:

  • 更新软件包列表。
  • 安装必要的依赖项。
  • 添加 Docker 的 GPG 密钥和APT源。
  • 安装 Docker。

第二步:创建 Dockerfile

在项目路径下创建名为 Dockerfile 的文件,内容如下:

# 使用官方的 Ubuntu 基础镜像
FROM ubuntu:20.04

# 安装所需的软件包,例如 curl 和 nginx
RUN apt-get update && \
    apt-get install -y curl nginx && \
    apt-get clean

# 复制 nginx 配置文件
COPY nginx.conf /etc/nginx/nginx.conf

# 暴露 80 端口
EXPOSE 80

# 启动 nginx 服务
CMD ["nginx", "-g", "daemon off;"]
  • FROM:定义基于的基础镜像。
  • RUN:更新包管理器并安装所需的软件包。
  • COPY:将本地 nginx.conf 文件复制到容器中。
  • EXPOSE:暴露容器外部可访问的端口。
  • CMD:指定容器启动时执行的命令。

第三步:构建 Docker 镜像

使用 Dockerfile 构建镜像:

# 在 Dockerfile 所在目录执行以下命令
sudo docker build -t my-nginx-image .

这条命令中的 -t 选项用于为镜像命名,. 表示当前目录,Docker 将读取 Dockerfile 并构建镜像。

第四步:运行 Docker 容器

使用以下命令启动容器:

# 运行容器并将 80 端口映射到主机的 8080 端口
sudo docker run -d -p 8080:80 --name my-nginx-container my-nginx-image
  • -d:让容器在后台运行。
  • -p:指定端口映射,主机 8080 端口映射到容器的 80 端口。
  • --name:为容器指定一个名称。

第五步:访问容器中的服务

在浏览器中输入 http://localhost:8080,如果一切设置正确,你将看到 Nginx 的默认欢迎页面,这表示服务正常运行。

总结

在本教程中,我们经历了从安装 Docker,到创建 Dockerfile,再到构建并运行容器的完整过程。而这些步骤都可以通过简单的命令行操作完成。通过 Docker,开发者能够轻松部署和管理应用。

关系图

erDiagram
    DOCKER_IMAGE {
        string name
        string version
    }
    DOCKER_CONTAINER {
        string container_id
        string status
    }
    DOCKER_IMAGE ||--o{ DOCKER_CONTAINER: creates

旅行图

journey
    title 在 Ubuntu 上使用 Docker 启动容器中的服务
    section 安装 Docker
      安装必要软件包: 5: メンバーから(
      添加 GPG 密钥: 3: メンバーから(
    section 创建 Dockerfile
      选择基础镜像: 5: メンバーから(
      安装软件包和配置: 4: メンバーから(
    section 构建和运行容器
      构建 Docker 镜像: 5: メンバーから(
      启动 Docker 容器: 4: メンバーから(
    section 验证服务
      通过浏览器访问服务: 5: メンバーから(

通过这样的过程,开发者不仅能快速上手 Docker 的基本用法,还能理解其中的原理。这是实现现代软件开发不可或缺的重要一环。希望本指南能帮助大家顺利在 Ubuntu 上启动 Docker 容器中的服务!