1.安装一个docker
2.启动docker
3.创建dockerfile
mdkir -p /data/`date +%F`
cd /data/2024-05-31
生成密钥
ssh-keygen
ls -l /root/.ssh/id_rsa.pub
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
将authorized_keys和 Centos-vault-8.5.2111.repo上传到此目录下
vim Dockerfile
#2024年5月31日21:10:32
#指定基础镜像
FROM centos:latest
#设置维护者信息
MAINTAINER www.jfedu.net
#设置标签信息 centos v1.0
LABEL centos v1.0
#对外开放的端口信息
EXPOSE 22 80 3306 8080
#设置环境变量
ENV WEB=www.jfedu.net
#提前删除/etc/yum.repos.d/目录文件
RUN rm -rf /etc/yum.repos.d/*
#将repo源文件拷贝至容器中
COPY Centos-vault-8.5.2111.repo /etc/yum.repos.d/
#对外显示目录挂载点
VOLUME /var/www/html/
#调整容器的工作目录
WORKDIR /tmp/
#安装 openssh服务、网络工具
RUN yum install -y openssh-server net-tools passwd initscripts
#修改容器的root密码
RUN echo 1 |passwd --stdin root
#生成SSHD服务启动的必备KEY文件
RUN ssh-keygen -A
WORKDIR /root
#将本地authorized_keys拷贝至镜像中/root/.ssh/目录
RUN mkdir -p /root/.ssh/
COPY authorized_keys /root/.ssh/
RUN chmod 600 /root/.ssh/authorized_keys
#开机启动SSHD服务
CMD /usr/sbin/sshd -D
ENTRYPOINT /usr/sbin/init
docker build -t centos8-ssh:v1 ./
以超级特权启动容器,不然sshd服务无法启动
docker run -itd --name=vm01 --privileged centos8-ssh:v2
查看容器IP地址
docker inspect vm01 |grep -aiE ipaddr |tail -1
远程进入容器
ssh -l root 172.17.0.2
标签:RUN,keys,root,ssh,镜像,docker,dockerfile,authorized From: https://blog.csdn.net/m0_59890784/article/details/139379383