使用Dock而file从现有的镜像构建ssh的镜像

浏览:116
jackios 2020-08-11 11:00

复制ssh中key和Dockerfile 在一个目录下

才能进行构建Dockerfile  否则找不到

Dockerfile 内容如下

FROM centos:7
MAINTAINER by jackios
RUN rm -rf /etc/yum.repos.d/*
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
RUN yum install net-tools -y
RUN yum install openssh openssh-server -y
COPY ssh_host_rsa_key  /etc/ssh
COPY ssh_host_ecdsa_key /etc/ssh
COPY ssh_host_ed25519_key /etc/ssh
WORKDIR /root
RUN echo "123456"|passwd --stdin root
RUN chmod -R 600 /etc/ssh
CMD /usr/sbin/sshd; /bin/bash

运行容器 

docker run -tdi --name=jackios01 -p6022:22  67f3a8c1c587

进入容器

docker exec -it $(docker ps -qa) /bin/bash

查看ssh的服务是否启动

ps  -ef|grep -ai  ssh

以上都没有问题后,最后使用scrt进行 远程登录 

ip 是宿主的主机的ip  port 是上面映射的6022 用户名是 root 密码是123456

启动br0 网卡 ping百度是否能通

ifup ifcfg-br0
systemctl restart network
ping -c2 baidu.com

查看 网桥接口

brctl show

干掉 docker0

ifconfig docker0 down
brctl delbr docker0
brctl show

以后的容器使用br0这个网桥,就不再使用docker0了,因为新建了桥接网卡就不需要docker0了,只要保证有一个桥接网卡就行。

这个时候每一个容器的ip都和物理机的IP在一个网段了,容器可以直接上网,别的机器也可以连接容器了,跨网段也可以访问了。

开始测试下

1.重启一个centos容器 docker  restart $(docker ps -qa)
2.为这个容器配置ip 网关和子网掩码 (这里使用的是pipework 网上的工具 br0  配置的网卡,9ea514cd007c是容器的id  192.168.188.145 与网关不一样的ip  )
 24 代表24位长度的掩码 @ 后面跟的是br0的IP地址 也就是认为是网关 这样能走的通 
 pipework br0 9ea514cd007c 192.168.188.145/24@192.168.188.128
3.进入容器 docker exec -it  9ea514cd007c /bin/bash
查看ip ifconfig 有enth1 这样类似的就行



如果觉得我的文章对你有用,请随意赞赏

待完善
不要去追一匹马,用追马的时间种草,待到春暖花开时,就会有一批骏马任你挑选;不要去刻意巴结一个人,用暂时没有朋友的时间,去提升自己的能力,待到时机成熟时,就会有一批的朋友与你行。用人情做出来的朋友只是暂时的,用人格吸引来的朋友才是长久的。所以种下梧桐树,引得凤凰来。你若盛开,蝴蝶自来,你若精彩,天自安排
微信扫码登录测试

Powered by Jackios V1.0 Copyright © 2019-2020 liuql 版权所有 备案号: 鲁ICP19026293号