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


    docker创建容器时默认采用bridge网络,自行分配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/?

     

    越努力,越幸运!!! good good study,day day up!!!
  • 相关阅读:
    Linux終端一行命令发送邮件
    团队冲刺2.4
    团队冲刺2.3
    团队冲刺2.2
    找水王
    评价win10自带输入法——微软拼音输入法
    梦断代码阅读笔记01
    团队冲刺2.1
    第十三周总结
    第十二周总结
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12662022.html
Copyright © 2020-2023  润新知