在国内利用Docker给官方HUB加速并给官方CentOS镜像增加SSH

Docker真的是一个不错的引擎,各种操作都挺方便的.而且随着目前各大基于Docker的云计算兴起,我们越来越需要了解一下Docker,以便去使用这些新兴的云计算服务..

当前Docker也已经支持Windows操作系统了,但是由于VirtualBox的原因,所以暂时不能和Windows10很好的兼容,不过没关系,我们常用的Linux操作系统都已经可以很好的运行Docker了..今天我将在daocloud的胶囊主机上来测试Pull一个CentOS官方镜像,然后给他安装SSH,并且使这个应用可以在后台运行,同时利用端口转发实现直接连接.

由于daocloud的胶囊主机已经安装好了Docker最新版,所以安装步骤我这里不再赘述…Linux安装Docker是非常简单的,只需一键.

首先我们先给Docker添加上加速器,由于DockerHUB官方已经被GFW认证,或存在干扰,国内访问速度感人,于是使用加速器之后可以享受国内也能满速下载.Linux用户直接执行:
echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://<你自己的加速器地址>.m.daocloud.io\"" | sudo tee -a /etc/default/docker
sudo service docker restart
※该命令必须在Docker1.3.2版本及以上使用.

由于Daocloud的加速器限制流量和请求数,所以你必须使用你自己的…

安装完后后重启Docker就可以直接用了,完成后你的SSH应该这个样子.

目前Docker官方HUB已经有很多官方镜像了,以后肯定还会越来越多,今天我们演示的直接Pull官方镜像,今后还会逐渐研究自己创建镜像..这里我们以Fedora的官方镜像进行演示..

首先获取Fedora最新稳定版.
docker pull fedora

根据网速不同,获取镜像可能会持续几十秒到数十分钟…

接下来我们运行这个镜像,并使用-t命令开启一个临时终端,这样我们可以使用SSH命令管理这个镜像.
docker run -i -t Fedora /bin/bash
然后我们装个应用看一下软件源,可以确认我们进入的是fedora

接下来想配置VPS一样配置你的镜像,我们需要安装openssh服务端和一些你觉得需要的软件.由于fedora官方镜像的yum没有安装,所以我们先配置一下yum.
dnf install python-dnf-plugins-extras-migrate && dnf-2 migrate

我们可以通过top/htop命令看一下,官方镜像非常干净..

执行一下yum install wget vim tar unzip openssh-server安装一些必要的环境.

我们还需要简单编辑一下openssh的配置文件.
vim /etc/ssh/sshd_config
主要需要修改 PermitRootLogin yes 和侦听端口

然后使用passwd修改密码,如果passwd没有安装,使用yum intall passwd 安装一个.

我们已经配置完成了这个官方镜像,使用exit命令退出.

接下来,我们需要把我们刚才修改的版本转换为Docker镜像,先使用docker ps -a找到刚才修改的ImagesID

使用docker commit <容器id> <新镜像名>来定义修改过的镜像.

如果返回一串代码则表示成功了.

接下来使用docker images 看一下我们定义的新镜像的ID,一会要用到.

在使用docker run -d -p <映射端口>:<内部端口> <镜像id> /usr/sbin/sshd -D 启动镜像,使用该命令启动后Docker镜像会在后台一直运行.
在使用docker ps -a就可以看到我们的镜像在运行啦.

使用docker stop <容器id> 可以停止运行

接下来我们就可以用ssh 127.0.0.1 -p <映射端口> 访问了,同时如果你拥有独立IP,可以使用IP+端口访问镜像.

头图版权:Light Song@Rella | PID=52288462

坤哥

博主Kunger,现在是一名PHP/RN开发者。

2 Comments

  • 博主研究Docker越来越深了。

    • @免费资源部落 Docker确实有意思,而且应用广泛,现在国内这些基于Docker的云计算服务用起来也挺方便,尤其是使用DockerFile构建镜像。

留下你的评论

*评论支持代码高亮<pre class="prettyprint linenums">代码</pre>