zoukankan      html  css  js  c++  java
  • 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!!!
  • 相关阅读:
    Gridview使用CheckBox全选与单选 Version 2
    Repeater控件第前10笔记录高亮显示
    下拉式菜单(DropDownList)连动的选择
    DataList控件显示图片要的是效果
    电容屏、电阻屏基础知识
    SIM300实现GPRS上网
    qt练习7 定时爆炸小游戏
    用 STL vector 来创建二维数组
    sim300_at命令.doc
    QT练习6 label,button创建,点击按键关闭
  • 原文地址:https://www.cnblogs.com/canglongdao/p/12662022.html
Copyright © 2011-2022 走看看