docker创建容器时指定容器ip,实现远程访问容器

   日期:2024-12-27    作者:lmk6t 移动:http://mip.riyuangf.com/mobile/quote/64948.html

docker创建容器时默认采用bridge网络,自行分配ip,不允许自己指定;

docker创建容器时指定容器ip,实现远程访问容器

在实际部署中,我们需要指定容器ip,不允许其自行分配ip,尤其是搭建集群时,固定ip是必须的。

查看网络模式,docker network ls

 

 我们可以创建自己的bridge网络:yinong;创建容器的时候指定网络为yinong并指定ip即可;

创建一个新的bridge网络;

docker network create --driver bridge --subnet=171.17.12.0/16 --gateway=171.17.1.1 yinong

 

 查看yinong网络信息

docker network inspect yinong

需要使用特权模式运行容器,不然容器中启动服务报错(如下图);可参考:https://blog.csdn.net/zhenliang8/article/details/78330658

 

 镜像相当于可读的文本,容器是可以读写的文本;假如你在某镜像centos7运行的容器下,安装ifconfig,再次使用该镜像运行容器(如,容器id为b),则容器b下无ifconfig;

 创建容器并指定容器ip;运行容器;

docker run -e TZ="Asia/Shanghai" -p 6001:22 --privileged -itd -h hadoop01.com --name hadoop01 --network=mynet --ip 172.18.12.1 centos /usr/sbin/init (linux本地端口6001:容器22端口,若是希望通过远程访问centos生成的容器,使用这种命令;假如是阿里云服务器,记得将6001端口开启)

下图中,不可以使用xshell远程访问centos7生成的容器;

 

 centos7下未安装ifconfig命令,可通过yum进行安装;yum install -y net-tools

安装ssh服务

yum install -y openssh-server

yum install -y openssh-clients

systemctl start sshd.service

 linux远程登录;linux系统中是通过ssh服务实现的远程登录功能,默认ssh服务端口为22;

SSH为Secure Shell的缩写;

passwd root;根据提示设置容器中root的密码;

登录远程服务器ssh root@171.17.12.3 (root是用户名,171.17.12.3是服务器ip);

下图为linux本机,登录centos7的容器;

 

 下图为centos7的容器内登录本身;

 

 可以通过本地客户端访问centos7的容器

1)使用xshell访问;

 

 2)添加route路由,通过cmd访问;route add 需要访问的网关 MASK 子网掩码 本机ip;

可参考:https://blog.csdn.net/sjhfkhsf/article/details/83822839

 

 下面是cmd中,ping 171.17.12.3,已添加路由的提示0%丢失;未添加路由的提示100%丢失;[命令/?]查看帮助,如,route/?


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号