制作可ssh的centos镜像
#373MB
#部分操作不需要,确保无问题添加,不影响镜像大小
FROM centos:7.9.2009
RUN rm -rf /etc/yum.repos.d/*
ADD ./CentOS-Base.repo /etc/yum.repos.d/
RUN yum update -y && yum install -y openssh-server openssh-clients sudo && yum clean all && sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config &&\
echo "root:123456" | chpasswd && echo "root ALL=(ALL) ALL" >> /etc/sudoers && \
ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key && ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key && mkdir /var/run/sshd
EXPOSE 22
CMD ["/usr/sbin/sshd", "-D"]
创建网络空间
[root@vm ~]# docker network create --subnet=10.1.0.0/24 uat
[root@vm ~]# docker network inspect uat | grep -i subnet
"Subnet": "10.1.0.0/24"
[root@vm ~]# docker run -itd --net uat --ip 10.1.0.11 --name os1 centos:7.9.2009-base
[root@vm ~]# docker exec os1 ls /root/ #不进入容器查看
[root@vm ~]# docker inspect test | grep -i ipaddress
"IPAddress": "10.1.0.11",
启动容器
docker run -d --net uat --ip 10.1.0.11 --name os1 --privileged=true centos:7.9.2009-base /usr/sbin/init
docker run -d --net uat --ip 10.1.0.12 --name os2 --privileged=true centos:7.9.2009-base /usr/sbin/init
docker run -d --net uat --ip 10.1.0.13 --name os3 --privileged=true centos:7.9.2009-base /usr/sbin/init
ssh连接
[root@vm ~]# cat /etc/hosts
...
10.1.0.11 os1
10.1.0.12 os2
10.1.0.13 os3
[root@vm ~]# >.ssh/known_hosts
[root@vm ~]# ssh os1
volume 空间清理
[root@vm es]# docker volume ls
DRIVER VOLUME NAME
local es_data01
local es_data02
local es_data03
[root@vm es]# ls /var/lib/docker/volumes/
es_data01 es_data02 es_data03 metadata.db
[root@vm es]# docker volume prune
文章描述了如何创建一个包含SSH服务的CentOSDocker镜像,包括从基础CentOS7.9.2009镜像开始,删除yum仓库文件,添加新的仓库,更新系统,安装SSH服务器和客户端,设置root密码,生成SSH密钥,并暴露22端口。接着,文章演示了如何创建Docker网络,启动并配置容器,以及如何通过SSH连接到这些容器。最后,提到了清理Dockervolume的步骤。
2046

被折叠的 条评论
为什么被折叠?



