docker创建ssh镜像并分配固定ip

最近做一个大数据项目,由于服务器数量问题,使用docker进行开发。

所以首先需要创建一个可以ssh进入的服务器,并为容器分配固定ip。

1.为容器分配固定ip

centOs安装docker:

yum install docker

安装centOs镜像:

docker pull hub.c.163.com/public/centos:6.7-tools

ps:如果容器没有ifconfig(可能会出现没有DNS的情况,在/etc/resolv.conf增加nameserver 8.8.8.8):

yum install net-tools  

docker 分配固定ip
1.首先创建子网

docker network create --subnet=172.18.0.0/16 mynetwork
// 查看创建子网
docker network ls

2.为容器分配ip

docker run -itd --name networkTest1 --net mynetwork --ip 172.18.0.2 centos:latest /bin/bash
可以exec进入容器查看ip确实分配成功


2.docker创建ssh镜像

docker exec -it containerId /bin/bash进入容器
安装ssh服务端和客户端:
yum -y install openssh-server openssh-clients

安装passwd,设置密码:

yum install passwd
passwd root

修改配置/etc/ssh/sshd_config 开启:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes

关闭SELinux: 永久

vi /etc/selinux/config  
SELINUX=disabled

暂时:

setenforce 0 

开机启动:

chkconfig sshd on
service sshd start

提交docker容器成为镜像:

docker commit containerId repository/images-name

奇怪的发现docker开启没有启动sshd,那就在docker run的时候开启吧。

启动: docker run -itd --name name containerId sh -c 'service sshd start && /bin/bash'


你可能感兴趣的:(docker,大数据)