Docker 入门指南

什么是 Docker?

Docker 是一个开源的容器化平台,用于将应用程序及其所有依赖项打包在一个可移植的容器中,并对其进行分发和部署。Docker 容器可以在任何支持 Docker 的操作系统上运行,使开发人员能够轻松地将应用程序在不同环境中进行部署。

Docker 的优势

相比于传统的虚拟化技术,Docker 提供了以下几个优势:

  1. 轻量级:Docker 容器共享宿主机的操作系统内核,因此更加轻量级和高效。
  2. 可移植性:Docker 容器可以在任意支持 Docker 的操作系统上运行,无需担心环境差异导致的兼容性问题。
  3. 快速部署:Docker 可以快速地启动和停止应用程序,并且容器之间相互隔离,不会相互影响。
  4. 易于管理:Docker 提供了一套简单易用的命令行工具和 API,可以方便地管理容器的生命周期和资源。

Docker 安装和使用

  1. 首先,需要在您的机器上安装 Docker。您可以根据您的操作系统选择相应的安装方式,在官方网站上可以找到详细的安装说明。

  2. 安装完成后,可以通过以下命令验证 Docker 是否成功安装:

docker version
  1. 创建一个简单的 Docker 容器,例如一个运行 Nginx 的容器。可以使用以下命令:
docker run -d -p 80:80 nginx

这个命令会下载 Nginx 镜像并创建一个名为 "nginx" 的容器。参数 "-d" 表示在后台运行,"-p 80:80" 表示将容器的 80 端口映射到宿主机的 80 端口。

  1. 通过访问 http://localhost 可以查看 Nginx 默认页面,证明容器已成功运行。

Docker 镜像

Docker 镜像是用于创建容器的模板,类似于虚拟机中的镜像。镜像是一个只读的文件系统,包含了应用程序运行所需的所有文件和依赖项。

您可以通过以下命令列出本地的镜像:

docker images

可以通过以下命令下载一个镜像:

docker pull image_name

例如,要下载 Ubuntu 镜像,可以执行:

docker pull ubuntu

Docker 容器的生命周期

Docker 容器有以下几种状态:

stateDiagram
    [*] --> created
    created --> running
    running --> stopped
    stopped --> [*]
  • created:容器已被创建,但尚未运行。
  • running:容器正在运行。
  • stopped:容器已停止运行。

可以通过以下命令启动一个已创建的容器:

docker start container_id

可以通过以下命令停止运行中的容器:

docker stop container_id

可以通过以下命令重启一个已停止的容器:

docker restart container_id

可以通过以下命令删除一个容器:

docker rm container_id

Docker Compose

Docker Compose 是一个用于定义和运行多个 Docker 容器的工具。它使用一个 YAML 文件来配置应用程序的服务、网络和卷等。

以下是一个简单的 docker-compose.yml 文件示例:

version: '3'
services:
  web:
    build: .
    ports:
      - "80:80"
  db:
    image: mysql
    environment:
      - MYSQL_ROOT_PASSWORD=password

以上示例定义了两个服务:一个名为 "web" 的服务,另一个名为 "db" 的服务。"web" 服务使用当前目录下的 Dockerfile 构建镜像,并将容器的 80 端口映射到宿主机的 80 端口。"db" 服务使用官