Docker搭建CentOS系统,并配置ssh环境
前提:宿主机已安装Docker
步骤
-
查看docekr版本,确保已经安装docker:
docker -v
-
拉去centos官方docekr镜像
docker pull centos
-
查看系统是否存在centos镜像
docker image ls | grep centos
-
创建并运行名为centos_1的容器,且启动systemd进程
docker run -itd –name centos_1 –privileged centos init
-
进入centos_1容器内
docker exec -it centos_1 bash
-
配置centos系统(可选)
yum -y update #升级所有包同时也升级软件和系统内核
yum -y upgrade #只升级所有包,不升级软件和系统内核
yum -y install vim #安装vim
yum -y install initscripts #安装基本工具包,如service、ip等命令
yum -y install passwd #安装passwd
passwd root #修改系统root密码
yum -y install openssl #安装openssl
yum -y install openssh-clients #安装ssh客户端
yum -y install openssh-server #安装sshd服务
ssh-****** -t rsa -f /etc/ssh/ssh_host_rsa_key -N “” #配置ssh key值
ssh-****** -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -N “” #配置ssh key值
ssh-****** -t ed25519 -f /etc/ssh/ssh_host_ed25519_key -N “” #配置ssh key值
/usr/sbin/sshd -D & #后台运行sshd服务
ps -e | grep sshd #查看sshd服务是否开启,存在sshd进程,则说明已经开启sshd
systemctl start sshd.service # 启动sshd服务
systemctl status sshd.service # 查看sshd服务的状态
systemctl enable sshd.service # 设置sshd服务开机自启
systemctl disable sshd.service # 设置sshd服务开机不自启
systemctl list-unit-files | grep sshd # 查看sshd状态
ip addr #查看本机IP
至此,可以在宿主机通过ssh连接到正在运行的centos容器 -
将该容器制作成新的镜像
docker commit -a “lzssing” -m “centos ssh” centos_1 lzssing/centos_ssh:v1.0
-
使用新镜像创建容器centos_2,然后进入容器内设置root的密码即可通过ssh连接
docker run -itd –name centos_2 –privileged lzssing/centos_ssh:v1.0 init
docker container inspect centos_2 | grep IPAddress #查看容器IP地址 -
将镜像推送到DockerHub
dokcer login #登录
docker push #推送