# Docker Network详解

## 1. 了解Docker网络概念

Docker是一种轻量级容器解决方案,能够轻松部署、运行应用程序。在Docker中,网络是一个重要的组成部分,它允许容器之间进行通信和与外部网络进行连接。本文将详细介绍Docker中网络的使用方法。

### 步骤概览

| 步骤 | 操作 |
|------|----------------------------------------------------------------------|
| 1 | 创建一个Docker网络 |
| 2 | 运行一个容器,并加入到该网络中(如nginx容器) |
| 3 | 运行另一个容器,并加入到该网络中(如mysql容器) |
| 4 | 在nginx容器中测试连接mysql容器 |
| 5 | 删除网络和容器 |

## 2. 创建一个Docker网络

```bash
docker network create my_network
```

该命令用于创建一个名为my_network的Docker网络。

## 3. 运行一个容器并加入到该网络中

```bash
docker run -d --name my_nginx --network my_network nginx
```

使用上述命令可以运行一个名为my_nginx的nginx容器,并将其加入到my_network网络中。

## 4. 运行另一个容器并加入到该网络中

```bash
docker run -d --name my_mysql --network my_network -e MYSQL_ROOT_PASSWORD=password mysql
```

上述命令可以运行一个名为my_mysql的mysql容器,并将其加入到my_network网络中。同时设置了MySQL的root密码为password。

## 5. 在nginx容器中测试连接mysql容器

可以通过以下命令进入nginx容器内部进行测试:

```bash
docker exec -it my_nginx bash
```

然后在nginx容器内部使用mysql客户端连接到mysql容器:

```bash
mysql -h my_mysql -u root -p
```

## 6. 删除网络和容器

在测试完成后,可以根据需要删除网络和容器。首先停止并删除容器:

```bash
docker stop my_nginx my_mysql
docker rm my_nginx my_mysql
```

然后删除网络:

```bash
docker network rm my_network
```

通过以上步骤,我们成功地创建了一个Docker网络,并在该网络中运行了nginx和mysql容器,并测试了它们之间的连接。希望这篇文章对你有所帮助,对Docker网络有更深入的了解。