基于Ubuntu操作系统,从零开始构建一套docker虚拟化平台。
docker的产物为:容器。
docker构建容器(Nginx WEB)。
docker启动虚拟机(创建CentOS云主机,同样是容器)。对之前内容的总结熟悉。
要求:①CentOS 7容器只包含CentOS相关的软件、数据
②启动sshd服务(目的:正常使用shell命令),对外监听22端口,通过CRT、shell等远程工具可以实现远程连接。
sshd(secure shell)是基于SSH协议开发的一款远程管理服务程序,不仅使用起来方便快捷,而且能够提供两种安全验证的方法——基于口令的安全验证,指的就是用帐号和密码验证登陆,基于密钥的安全验证,则是需要在本地生成密钥对,然后把公钥传送至服务端主机进行的公共密钥比较的验证方式,相比较来说更加的安全。
一、下载并启动CentOS虚拟机
(1)从Docker官方仓库下载CentOS7镜像
①docker search centos7
![](https://i-blog.csdnimg.cn/blog_migrate/a15f3bdb78d13543978b077217268f87.png)
②docker pull [镜像名]
docker pull ansible/centos7-ansible
![](https://i-blog.csdnimg.cn/blog_migrate/41bdf004461715fc5225a252bf6df051.png)
③命令验证:echo $?(0:表示上条命令执行成功)
④docker images
(2)查看已下载的CentOS镜像文件的存储位置和列表信息
①ls -l /var/lib/docker/image/overlay2(docker的数据目录)
![](https://i-blog.csdnimg.cn/blog_migrate/0aa3be9e1fe6e4387586cf9d3df04aa8.png)
②docker images|grep -aiwE centos7
![](https://i-blog.csdnimg.cn/blog_migrate/321e4e638c6ca50e76a64a8cac817fb2.png)
(3)基于CentOS镜像文件,创建一台CentOS容器,并命名为:vm01
①docker run -itd -p 6022:22 --name=vm01 --privileged [image id前三位(或镜像名)]
docker run -itd -p 6022:22 --name=vm01 --privileged 688
![](https://i-blog.csdnimg.cn/blog_migrate/03289866f2d83e3586c5a1ad71ee186c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/6f686ed63b8b722387e3682432676505.png)
② --privileged:获取权限,可以更改主机名称。
![](https://i-blog.csdnimg.cn/blog_migrate/75d90de053552efffe754f2fe4cfedad.png)
③查看已启动centOS容器(vm02)的运行状态:docker ps |grep -aiwE vm02
(4)进入vm01虚拟机,并更改主机名
①docker exec -it [进程id前三位(或容器名)] /bin/bash
docker exec -it f1b /bin/bash
![](https://i-blog.csdnimg.cn/blog_migrate/0d3a1ce01398467af45c140a9ce849bf.png)
②更改主机名:hostname [新名称]
hostname CentOS-vm02
![](https://i-blog.csdnimg.cn/blog_migrate/65cd701210c3432577050d260d746635.png)
当退出后重新进入,主机名就变了。
![](https://i-blog.csdnimg.cn/blog_migrate/925a9427602501defc9f6bdce05188c5.png)
③此时,“ifconfig”“sshd”等命令不能使用。现在的虚拟机还不能使用Linux命令进行操作。
二、配置(登陆云主机 )
(1)在vm01虚拟机中安装net-tools和openssh-server软件包。
并配置sshd服务,设置密码为:1。
①下载命令:yum install -y net-tools openssh-server
![](https://i-blog.csdnimg.cn/blog_migrate/b751b93d13ccc22dc71a4193faa76c8d.png)
... ...
![](https://i-blog.csdnimg.cn/blog_migrate/38286b0a851af4e60176fd050eedab78.png)
②ssh-keygen -A(生成相应文件,为启用sshd服务做准备)
![](https://i-blog.csdnimg.cn/blog_migrate/65f8e1581c0948f0c6c71fef73430304.png)
启用sshd服务:/usr/sbin/sshd
![](https://i-blog.csdnimg.cn/blog_migrate/cb54b9061db698e675ee25ddac5dd04e.png)
③此时就可以像在CentOS终端一样,执行命令、上网。“ifconfig”“ping www.baidu.com -c4”
验证(服务、端口是否开启):
④ps -ef|grep -aiE sshd
netstat -tnlp|grep -aiwE 22
![](https://i-blog.csdnimg.cn/blog_migrate/b04c61a877027378e8c0dd421a8439f5.png)
将虚拟机密码设为1:echo 1|passwd --stdin root
![](https://i-blog.csdnimg.cn/blog_migrate/ee1d3642cf02ca1c05fb51f525739f9e.png)
(2)远程进入CentOS
使用Xshell远程连接工具