最近做一个大数据项目,由于服务器数量问题,使用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'
版权声明:本文为a60782885原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。