跳到主要内容

Docker 服务教程

1. 什么是 Docker? 🤔💡

Docker 是一个开源的容器化平台,旨在简化应用程序的部署和管理。Docker 使用容器来打包应用及其依赖,从而确保应用在不同环境中的一致性和可移植性。容器轻量、启动快速,并且能在几乎任何环境中运行(如开发、测试和生产环境)。🚀

Docker 是构建和管理微服务架构应用程序的理想工具,同时也能有效提高开发和运维的效率。🌍

2. 安装 Docker 📥🔧

2.1 安装 Docker 引擎 🧰

2.1.1 在 Ubuntu 上安装 Docker

  1. 更新 apt 包索引并安装必要的依赖项:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
  1. 添加 Docker 官方 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  1. 设置稳定版 Docker 仓库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
  1. 安装 Docker:
sudo apt update
sudo apt install docker-ce

2.1.2 在 CentOS 上安装 Docker

  1. 安装 Docker 的依赖包:
sudo yum install -y yum-utils
  1. 设置稳定版 Docker 仓库:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  1. 安装 Docker:
sudo yum install docker-ce
  1. 启动并启用 Docker 服务:
sudo systemctl start docker
sudo systemctl enable docker

🚀 安装完成! 现在你可以开始使用 Docker 来容器化应用了!🎉

3. 配置 Docker 🌐⚙️

Docker 的配置文件通常位于 /etc/docker/daemon.json,你可以在其中修改 Docker 守护进程的配置。以下是一个配置示例:

{
"registry-mirrors": ["https://registry.docker-cn.com"],
"insecure-registries": ["myregistry.local:5000"]
}
  • "registry-mirrors":配置镜像仓库,可以加速镜像的拉取速度。
  • "insecure-registries":配置不使用 HTTPS 的私有仓库。

修改完配置后,重启 Docker 服务:

sudo systemctl restart docker

⚙️ 配置完成! 现在 Docker 就可以使用你的配置了!🔧

4. 使用 Docker 容器 🖥️💡

4.1 拉取镜像 🐳

Docker 使用镜像来创建容器。你可以从 Docker Hub 拉取现成的镜像,或者使用 docker build 命令构建自定义镜像。

docker pull ubuntu:latest

这个命令会从 Docker Hub 拉取最新的 Ubuntu 镜像。你也可以指定其他镜像,例如 nginxmysql 等。🔥

4.2 运行容器 🚀

从镜像创建并启动容器:

docker run -d --name my_container ubuntu:latest
  • -d:在后台运行容器。
  • --name:为容器指定一个名称。

你还可以运行带有端口映射和挂载的容器:

docker run -d -p 80:80 -v /host/path:/container/path nginx
  • -p:将主机的端口映射到容器的端口。
  • -v:挂载卷,将主机目录映射到容器目录。

4.3 查看容器状态 📊

查看正在运行的容器:

docker ps

查看所有容器(包括停止的):

docker ps -a

🎯 管理容器更轻松! 使用 Docker 命令,你可以实时查看容器的状态,确保应用的正常运行!🌟

5. Docker 网络配置 🌐🔌

Docker 提供了多种网络模式,例如 bridgehostnone。默认情况下,Docker 容器会使用 bridge 网络模式。

5.1 创建自定义网络 🌉

你可以创建一个自定义网络,以便容器之间可以相互通信:

docker network create my_network

然后运行容器并加入该网络:

docker run -d --name my_container --network my_network ubuntu:latest

5.2 查看网络信息 🔍

查看当前 Docker 网络信息:

docker network ls

查看某个网络的详细信息:

docker network inspect my_network

🌍 自定义网络配置,让容器之间的通信更加灵活! 🔌

6. Docker Compose 🤖🔧

Docker Compose 是一个用于定义和运行多容器 Docker 应用的工具。通过 docker-compose.yml 文件,你可以一次性配置多个容器的服务。

6.1 安装 Docker Compose 📥

在 Ubuntu 上,你可以通过以下命令安装 Docker Compose:

sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

6.2 使用 Docker Compose 启动应用 🚀

创建一个 docker-compose.yml 文件,定义多个服务:

version: '3'
services:
web:
image: nginx
ports:
- "80:80"
db:
image: mysql
environment:
MYSQL_ROOT_PASSWORD: example

然后通过以下命令启动:

docker-compose up -d

🎉 Docker Compose 让管理多个容器变得更加简单! 🧑‍💻

7. Docker 持久化数据 📦

Docker 容器是临时的,数据在容器停止或删除后会丢失。为了持久化数据,你可以使用 Docker 卷(Volumes)。

7.1 创建卷 🧳

docker volume create my_volume

7.2 使用卷挂载数据 🏷️

docker run -d -v my_volume:/data ubuntu

这样,/data 目录中的数据将保存在 Docker 卷中,即使容器被删除,数据依然存在。🔒

8. 小结 🎉🌟

Docker 是一个强大的容器化平台,它能帮助开发者和运维人员简化应用的构建、部署和管理过程。通过 Docker,你可以轻松创建、配置和管理容器,并实现高效的应用管理和持续交付。🚀

希望这篇教程对你有所帮助!别忘了收藏 在线知识库www.zxzsk.com )哦!😊