标签:
Docker使用系列一我们把镜像源改为了阿里云的,方便后续的操作。
执行这个命令就把源地址改为阿里的:
curl https://git.oschina.net/feedao/Docker_shell/raw/start/ali-centos.sh | sh
第一安装Docker:
yum -y install docker-io
第二 启动Docker:
service docker start
第三安装制作CentOS镜像的工具:
yum -y install febootstrap
第四 制作CentOS镜像文件centos6-image目录
febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim-minimal -i openssh-server -i openssh-clients centos6 centos6-image http://mirrors.aliyun.com/centos/6/os/x86_64/
第五制作Docker镜像,镜像名字是centos6-base, 最后的点是必须要的
cd centos6-image && docker build -t centos6-base .
第六制作可以ssh登陆的Docker镜像,名字是centos6-ssh
docker build -t centos6-ssh https://git.oschina.net/feedao/Docker_shell/raw/start/Dockerfile
经过前面的六个步骤,一个可以登陆的本地docker镜像就制作好了。
用户名是:root,密码是:123456
体验步骤:
创建容器:
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
ssh登陆容器:
ssh root@127.0.0.1 -p 33301
输入密码后就可以开始折腾了。
通过授信无密码登陆
依赖于centos6-ssh镜像,制作第三个自动授信的镜像centos-newssh。
方法如下:
curl https:
//git
.oschina.net
/feedao/Docker_shell/raw/start/Docker-centos-autossh
.sh | sh
一个命令就行了,这条命令会创建一个新镜像centos-newssh
开始体验,现在不需要输入root密码了:
docker run -d -p 127.0.0.1:33306:22 -m 256M centos-newssh
ssh
root@127.0.0.1 -p 33306
"echo $LANG;ifconfig"
ssh
-o StrictHostKeyChecking=no root@127.0.0.1 -p 33306
"echo $LANG;ifconfig"
https:
//git
.oschina.net
/feedao/Docker_shell/raw/start/Docker-centos-autossh
.sh
#!/bin/sh [ ! -d /root/.ssh ] && mkdir -p /root/.ssh ssh-keygen -q -N "" -t dsa -f /root/.ssh/id_dsa KEY_PUB=`cat /root/.ssh/id_dsa.pub` [ ! -d /root/docker-temp ] && mkdir /root/docker-temp cd /root/docker-temp cat >/root/docker-temp/Dockerfile <<EOF #Dockerfile FROM centos6-ssh MAINTAINER feedao <feedao@163.com> EOF echo "RUN echo \"$KEY_PUB\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys " >>Dockerfile cd /root && cat /root/docker-temp/Dockerfile | docker build -t centos-newssh -
脚本内容比较简单,就是生成新的秘钥和公钥
ssh
-keygen -q -N
""
-t dsa -f
/root/
.
ssh
/id_dsa
echo
"RUN echo \"$KEY_PUB\" > /root/.ssh/authorized_keys && chmod 600 /root/.ssh/authorized_keys "
>>Dockerfile
cd
/root
&&
cat
/root/docker-temp/Dockerfile
| docker build -t centos-newssh -
rm
-rf
/root/docker-temp
标签:
原文地址:http://www.cnblogs.com/zhengah/p/4933700.html