---
title: 安装Docker
description: "安装Docker并部署多个容器以搭建Flink环境。如果服务器无法连接外网，请根据实际情况配置本地Yum源，确保安装过程顺利。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/2530/bds/kunpengbds_omniruntime_20_0911.html
sourcePath: /source/zh/kunpengboostkithistory/2530/bds/kunpengbds_omniruntime_20_0911.html
indexId: 957ed8772b3dae03bd998a17624227b486f8dfa91132063031bde9d1fd53cd9878
---
# 安装Docker

安装Docker并部署多个容器以搭建Flink环境。如果服务器无法连接外网，请根据实际情况配置本地Yum源，确保安装过程顺利。

1. 请参见《Docker 安装指南（CentOS&openEuler）(https://www.hikunpeng.com/document/detail/zh/kunpengcpfs/ecosystemEnable/Docker/kunpengdocker_03_0001.html)》安装Docker，并导入基础镜像。

```
cd /opt
wget --no-check-certificate https://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/docker_img/aarch64/openEuler-docker.aarch64.tar.xz
docker load < openEuler-docker.aarch64.tar.xz
```


2. 创建bridge模式网络。

```
docker network create -d bridge flink-network
```


  确认网络是否创建成功。

```
docker network ls
```


3. 创建并启动3个Docker容器。
  创建的容器规格为8c32g，分别命名为flink_jm_8c32g、flink_tm1_8c32g、flink_tm2_8c32g。所有容器启动完成后自动退出命令执行流程。

```
docker run -it -d --name flink_jm_8c32g --cpus=8 --memory=32g --network flink-network openeuler-22.03-lts-sp4 /bin/bash
docker run -it -d --name flink_tm1_8c32g --cpus=8 --memory=32g --network flink-network openeuler-22.03-lts-sp4 /bin/bash
docker run -it -d --name flink_tm2_8c32g --cpus=8 --memory=32g --network flink-network openeuler-22.03-lts-sp4 /bin/bash
```


4. 查询容器ID。

```
docker ps
```


  下图中第一列为容器ID。

5. 登录所有容器，容器内启动SSH服务，并配置免密登录。

  a. 依次登录容器，执行步骤    5.b
～    5.g
。

```
docker exec -it flink_jm_8c32g /bin/bash
docker exec -it flink_tm1_8c32g /bin/bash
docker exec -it flink_tm2_8c32g /bin/bash
```


  b. 安装SSH服务依赖、修改密码依赖、编辑命令依赖、查找命令依赖、网络管理依赖，如镜像有其他依赖缺失请自行安装。

```
yum -y install openssh-clients openssh-server passwd vim findutils net-tools libXext libXrender gcc cmake make gcc-c++ unzip wget libXtst
```


  c. 生成RSA密钥。

```
ssh-keygen -A
```


  d. 启动容器内SSH服务。

```
/usr/sbin/sshd -D &
```


  e. 为容器设置密码。

```
# 通过passwd命令设置当前用户密码，密码请自行记忆
passwd
```


  f. 再次生成RSA密钥，遇到提示时，按“Enter”。

```
ssh-keygen -t rsa
```


  g. 退出容器。

```
exit
```


  h. 在flink_jm_8c32g容器上配置对其他容器的SSH免密登录。

```
docker exec -it flink_jm_8c32g /bin/bash
ssh-copy-id -i
~
/.ssh/id_rsa.pub root@flink_tm1_8c32g
ssh-copy-id -i
~
/.ssh/id_rsa.pub root@flink_tm2_8c32g
```
