在node1 node2 node3 中创建docker swarm集群.且互相可通讯考试要求: 1 创建overlay网卡,ip地址段为: 15.X.Y.0/24 (X,Y 由考试当天韩老师分配)基于screach创建 rockylinux:9 镜像 要求除内部命令外,还可以使用 curl dig ipconfig 三条命令将app.zip 构建成镜像.将上述镜像上穿到node3 的私有仓库中
时间: 2024-02-10 20:10:33 浏览: 79
好的,我理解了你的问题。这是一个比较复杂的问题,需要一些步骤来完成。我会逐一解释。
首先,我们需要在三个节点上安装 Docker。可以按照官方文档的说明进行安装。
接下来,我们需要创建一个 overlay 网络。可以使用以下命令在 node1 节点上创建:
```
docker network create --driver overlay --subnet=15.X.Y.0/24 my-overlay-network
```
其中,X 和 Y 是考试当天韩老师分配的地址段。
然后,我们需要基于 scratch 创建 rockylinux:9 镜像。可以使用以下 Dockerfile 文件:
```
FROM scratch
ADD app.zip /
RUN unzip /app.zip && rm /app.zip
CMD ["bash"]
```
使用以下命令构建镜像:
```
docker build -t rockylinux:9 .
```
接下来,我们需要将这个镜像上传到 node3 的私有仓库中。可以按照以下步骤进行:
1. 在 node3 节点上安装 Docker Registry。可以使用以下命令:
```
docker run -d -p 5000:5000 --restart=always --name registry registry:2
```
2. 在 node2 节点上登录到私有仓库。可以使用以下命令:
```
docker login node3:5000
```
输入用户名和密码进行登录。
3. 在 node2 节点上打标签并上传镜像。可以使用以下命令:
```
docker tag rockylinux:9 node3:5000/rockylinux:9
docker push node3:5000/rockylinux:9
```
最后,我们需要将三个节点加入到 Docker Swarm 集群中。可以使用以下命令在 node1 节点上执行:
```
docker swarm init --advertise-addr <node1-ip>
```
其中,<node1-ip> 是 node1 节点的 IP 地址。
然后,在 node2 和 node3 节点上分别执行以下命令加入到集群中:
```
docker swarm join --token <token> <node1-ip>:<port>
```
其中,<token> 是在 node1 节点上执行 `docker swarm join-token worker -q` 命令得到的 token,<node1-ip> 是 node1 节点的 IP 地址,<port> 是 Docker Swarm 集群的端口号,默认为 2377。
现在,你已经在 node1、node2 和 node3 中创建了 Docker Swarm 集群,并且创建了一个 overlay 网络,上传了一个镜像到 node3 的私有仓库中。
阅读全文