【Docker专栏】Docker入门指南:快速构建你的第一个容器

简介: 【5月更文挑战第7天】Docker 入门指南:容器化应用利器。了解 Docker 核心概念——镜像、容器和仓库。安装 Docker 后,运行官方 `hello-world` 验证安装,再尝试运行 `nginx` Web 服务器。通过端口映射访问容器内服务,学习管理容器命令。创建自定义镜像,编写 Dockerfile,实现 Python Web 应用容器化。Docker 助力高效开发与运维,探索更多自动化部署与微服务场景。

ffad217afe219d838b4082d6d470ea33.jpg

引言

随着云计算和微服务架构的兴起,Docker 容器技术已经成为软件开发和运维领域的重要工具。Docker 通过容器化应用,实现了应用的快速部署、迁移和扩展,极大地提高了开发效率和运维的便捷性。本篇文章将为你提供一份 Docker 的入门指南,帮助你快速构建并运行第一个 Docker 容器。

什么是 Docker?

Docker 是一个开源的应用容器引擎,它允许开发者将应用及其依赖打包到一个轻量级、可移植的容器中,然后发布到任何支持 Docker 的系统上。Docker 容器在运行时与其他容器相互隔离,但共享同一操作系统内核,这使得它们比传统虚拟机更为高效。

Docker 的核心概念

在开始构建容器之前,了解 Docker 的几个核心概念是非常重要的:

  • 镜像(Image):Docker 镜像是一个轻量级、可执行的软件包,包含了运行一个容器所需的代码、运行时、系统工具、系统库等。
  • 容器(Container):容器是镜像运行时的实例。它可以被创建、启动、停止、删除。
  • 仓库(Repository):仓库用于存放镜像,最著名的 Docker 公共仓库是 Docker Hub。

安装 Docker

在开始之前,确保你的系统上已经安装了 Docker。Docker 支持多种操作系统,包括 Windows、macOS 和各种 Linux 发行版。你可以从 Docker 官网下载适合你操作系统的安装包。

构建第一个 Docker 容器

1. 运行一个 Docker 容器

让我们从运行一个简单的容器开始。Docker 提供了一个名为 hello-world 的官方镜像,它可以用来验证 Docker 是否正确安装。

在终端或命令提示符中输入以下命令:

docker run hello-world

这个命令会下载 hello-world 镜像,并运行一个容器,你将看到欢迎信息。

2. 运行一个 Web 服务器

为了更深入地了解 Docker,我们来运行一个 Web 服务器。这里我们使用 nginx 镜像。

首先,拉取 nginx 镜像:

docker pull nginx

然后,运行 nginx 容器:

docker run -d -p 8080:80 nginx
  • -d 表示以 detached 模式运行容器,即在后台运行。
  • -p 8080:80 表示将容器的 80 端口映射到宿主机的 8080 端口。

3. 访问 Web 服务器

打开你的 Web 浏览器,访问 http://localhost:8080,你应该能看到 Nginx 的欢迎页面。

4. 管理容器

你可以使用以下命令来管理你的容器:

  • 列出正在运行的容器:docker ps
  • 停止正在运行的容器:docker stop [容器ID或名称]
  • 重新启动容器:docker restart [容器ID或名称]
  • 删除容器:docker rm [容器ID或名称]

5. 创建自定义镜像

Docker 允许你创建自定义镜像。首先,你需要编写一个 Dockerfile,这是一个包含构建镜像步骤的文本文件。

假设我们想要创建一个运行 Python Web 应用的容器,Dockerfile 可能如下所示:

FROM python:3.8-slim
WORKDIR /app
COPY . /app
RUN pip install -r requirements.txt
CMD ["python", "app.py"]

这个 Dockerfile 使用了 Python 3.8 的官方镜像,设置了工作目录,复制了当前目录下的文件到容器中,安装了指定的依赖,并设置了容器启动时运行的命令。

要构建镜像,使用以下命令:

docker build -t my-python-app .

这里 -t 标记了一个标签,my-python-app 就是我们给镜像起的名字。

构建完成后,你可以使用 docker run 命令运行你的 Python Web 应用。

结语

通过这篇文章,你应该对 Docker 有了基本的了解,并且能够构建并运行你自己的容器。Docker 的世界非常广阔,本文只是冰山一角。随着你对 Docker 的进一步探索,你将发现它在自动化部署、持续集成/持续部署(CI/CD)、微服务架构等方面的强大能力。继续学习,享受 Docker 带来的便利吧!

相关文章
|
1天前
|
运维 JavaScript 虚拟化
探索容器化技术:Docker的实践与应用
【10月更文挑战第9天】探索容器化技术:Docker的实践与应用
9 3
|
2天前
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
云上攻防:云原生篇&Docker容器逃逸
|
4天前
|
Docker 容器
docker中检查容器的网络模式
【10月更文挑战第5天】
9 1
|
4天前
|
运维 监控 Cloud Native
深入了解容器化技术:Docker 的应用与实践
【10月更文挑战第6天】深入了解容器化技术:Docker 的应用与实践
14 0
|
4天前
|
云计算 开发者 Docker
揭秘云计算中的容器化技术——Docker的深度解析
【10月更文挑战第6天】揭秘云计算中的容器化技术——Docker的深度解析
|
20天前
|
Linux Docker 容器
Docker操作 :容器命令
Docker操作 (四)
183 56
|
13天前
|
安全 Shell Linux
docker进入容器命令
docker进入容器命令
|
13天前
|
Linux 应用服务中间件 Shell
docker学习--docker容器镜像常用命令大全(简)
本文档详细介绍了Docker中的镜像命令与容器管理命令。镜像命令部分涵盖了镜像搜索、下载、上传等操作;容器管理命令则包括了容器的创建、启动、停止、删除及日志查看等功能。通过具体示例,帮助用户更好地理解和使用Docker相关命令。
|
1月前
|
应用服务中间件 Shell nginx
Docker容器操作基础命令
关于Docker容器操作基础命令的教程,涵盖了从启动、查看、删除容器到端口映射和容器信息获取的一系列常用命令及其使用方法。
69 14
|
2月前
|
存储 Docker 容器
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?
在Docker中,容器退出后,通过docker ps命令查看不到,数据会丢失么?