最近有个 Web Terminal 的想法,可能需要多次测试,所以准备个 Cent OS 的环境还是很重要的,记录下在 Docker 中安装 Cent OS 的过程。
¶一、安装 Cent OS
¶1.1、查找镜像
在 Docker Hub 官网查找自己需要的版本 https://hub.docker.com/_/centos?tab=tags
¶1.2、下载镜像
我选择的是 7.9.2009 版本:
1 | docker pull centos:centos7.9.2009 |
下载完成后使用docker images
命令查看镜像列表。
¶二、启动容器
¶2.1、使用镜像创建容器并运行
1 | docker run -p 10000:22 -p 9000:9000 -itd --name centos7.9 --privileged=true centos:centos7.9.2009 /usr/sbin/init |
或
1 | docker run -p 10000:22 -itd --name centos7.9 centos:centos7.9.2009 /bin/bash |
指令解释:
-p
表示端口映射,-p 宿主机port:容器port
--name
表示给容器指定的名称centos:centos7.9.2009
表示运行的镜像名称--privileged=true
表示以特权模式运行容器,且不能使用默认的 bash,得换成 init
后续可通过以下命令启动/停止容器:
1 | docker start/stop centos7.9 |
¶2.2、进入容器
以后台模式运行容器,再进入容器:
1 | docker exec -it centos7.9 /bin/bash |
指令解释:
centos7.9
容器名称
进入 centos7.9,出现下图红框部分的容器 id 则表示进入成功:
¶2.3、开启 ssh 连接
安装工具:
1 | yum install -y openssh-server |
启动 ssh 服务:
1 | systemctl start sshd.service |
设置系统 root 用户密码,输入两次密码设置成功:
1 | passwd |
¶2.4、连接 centos7.9
1 | ssh root@192.168.106.119 -p 10000 |
因为是很多操作是尝试着进行的,所以很多次在连接 Cent OS 后,删除镜像、容器后再次尝试连接的时候就会报错了WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
,根据提示编辑~/.ssh/known_hosts
文件,删除服务器的记录即可。
1 | vim ~/.ssh/known_hosts |