知识点
-
宿主机同网段独立ip:docker的ipvlan网络 参考
-
开启root权限:docker run的–privileged
-
开启ssh服务:docker run的/usr/sbin/init
案例
宿主机host
ip:192.168.9.38/24
gateway: 192.168.9.253
容器container
ip:192.168.9.2/24
gateway: 192.168.9.253
### 创建可以ssh的centos镜像
######### 注意:--privileged 和 /usr/sbin/init
docker run -itd --name=centos7ssh --privileged centos:centos7.9.2009 /usr/sbin/init
docker exec -it centos7ssh /bin/bash
yum install -y openssh-server
passwd root
######### 启动sshd服务
systemctl start sshd.service
######### 开机启动
systemctl enable sshd.service
######### 查看sshd服务状态
systemctl status sshd.service
### 保存容器镜像
docker commit centos7ssh centos7ssh
### 创建宿主机同网段的docker network
docker network create -d ipvlan --subnet=192.168.9.0/24 --gateway=192.168.9.253 -o ipvlan_mode=l2 -o parent=enp5s0f2 k8sNodeNet
### 启动容器
######### 这里使用自动分配的ip, 可以使用--ip 192.168.9.x 来指定ip
docker run --privileged -it --name centos7ssh --net k8sNodeNet -d centos7ssh /usr/sbin/init
### 查看容器分配的ip
docker inspect centos7ssh|grep IP