上篇我们有讲到docker入门,今天我们一起来看看docker centos环境搭建。
- docker centos 环境搭建及配置
- docker centos 开启远程访问
1. docker centos 环境搭建及配置
Docker 镜像加速
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:
- 科大镜像:https://docker.mirrors.ustc.edu.cn/
- 网易:https://hub-mirror.c.163.com/
- 阿里云:https://<你的ID>.mirror.aliyuncs.com
- 七牛云加速器:https://reg-mirror.qiniu.com
当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
阿里云镜像获取地址:(私聊我发链接),登陆后,左侧菜单选中镜像加速器就可以看到你的专属地址了:
我们可以多添加几个国内的镜像,如果有不能使用的,会切换到可以使用个的镜像来拉取。
对于使用 Windows 10 的系统,在系统右下角托盘 Docker 图标内右键菜单选择 Settings,打开配置窗口后左侧导航菜单选择 Daemon。在 Registrymirrors 一栏中填写加速器的地址
https://docker.mirrors.ustc.edu.cn/ ,之后点击 Apply 保存后 Docker 就会重启并应用配置的镜像地址了。
检查加速器是否生效
检查加速器是否生效配置加速器之后,如果拉取镜像仍然十分缓慢,请手动检查加速器配置是否生效,在命令行执行 docker info,如果从结果中看到了如下内容,说明配置成功。
$ docker info
Registry Mirrors:
https://reg-mirror.qiniu.com
部署centos并启动容器
setp1:获取镜像
docker pull centos
#查看镜像
docker images
step2:启动镜像
docker run --privileged -itd -p 2222:22 --name centos7 centos:7 /usr/sbin/init
启动命令详解:
--privileged 启动后让docker容器具备超级特权。
-itd 交互式、终端、后台运行
--restart=always 开机自启动容器
-p 把宿主机的2222端口映射到docker的22端口。
※宿主机就是运行docker的机器,这样访问宿主机IP:2222端口,实际访问的是docker的22端口。
--name 给启动的容器命名,方便后续操作
注:--privileged 和/usr/sbin/init是必须的,否则会报错:Failed to get D-Bus connection: Operation not permitted。
step3:网络配置及基础工具安装
因为官方提供的Centos7镜像是最小化的,因此很多系统参数未配置,工具包也未安装。在网络参数未配置的情况下,容器是无法进行IP数据包转发,从而连接到互联网的,因此,接下里开始配合容器的路由转发参数,并安装常用的工具。
配置路由转发参数,首先需要检查是否存在/etc/sysctl.conf文件,如果不存在就再创建一个,如果存在,则检查net.ipv4.ip_forward项。
## 假设 sysctl.conf 文件不存在
vi /etc/sysctl.conf
## 在 sysctl.conf 中增加 net.ipv4.ip_forward = 1 , 表示允许进行路由转发
net.ipv4.ip_forward = 1
退出编辑,加载参数到内核
sysctl -p
重启容器
docker restart c1
测试网络
ping www.zx-test.xyz
确认容器网路可用之后,就可以开始安装的工具。
yum install -y iproute vim openssh openssh-clients openssh-server epel-release systemd NetworkManager
安装完成后,配置openssh能够每次启动容器自动加载。
systemctl daemon-reload systemctl start sshd systemctl enable sshd
step4:进入容器进行必要设置
#进入容器
docker exec -it centos7 /bin/bash
#安装openssh
yum install -y openssh-server openssh-clients
#启动openssh
systemctl start sshd
#设置root密码
passwd
#这里根据提示输入两次一样的密码即可
# 如果提示:bash: passwd: command not found 则安装passwd
# yum install -y passwd
2. docker下centos开启远程访问
因为前面的操作已经将远程访问以及账号密码都以设置好了,所以这里主要利用远程连接工具Xshell去连接即可。
step1:下载
从官网下载个人使用时免费的,商业使用是要收费的。
下载地址:可以私聊我,我发给你链接教程
step2:安装,直接下一步到底
step3:连接centos
这就是Xshell的运行界面,如果Xshell6没有运行就是在安装界面的Xshell运行没有打上对勾,在桌面上选择Xshell双击打开即可。
因为前面在启动centos容器的时候,我们讲宿主机2222端口与容器的22端口对应,所以这里我们只用这样填就行了:
点击连接按钮,会弹出用户名和密码输入框:
这里输入用户名:root
为了方便下次使用,可以在记住用户名前面打钩。输入完成后,点击确定。
密码就是前面输入passwd命令的密码,比如我这里就是123456。同样的,为了方便下次快速使用,可以勾选记住密码。
如果上面的操作都没问题,那就可以成功连上:
希望本文对你有所帮助~~如果对软件测试、接口测试、自动化测试、面试经验交流感兴趣可以私聊我。免费领取最新软件测试大厂面试资料和Python自动化、接口、框架搭建学习资料!技术大牛解惑答疑,同行一起交流。