前言

本文通过一个非常简单的例子说明

  1. 如何在 GNS3 VM 中制作可以使用的 Docker 镜像。
  2. 在 GNS3 中如何使用 Docker 容器。

这个例子就是使用交换机将两个 Docker 容器连接起来,它们之间可以互 ping :

前提:

已经安装了 GNS3 VM。安装参考我的上篇文章。

1. 远程登录到 GNS3 VM

上篇文章中提到,GNS3 VM 启动后的界面是这样的:


提示可以 ssh gns3@192.168.91.132 ,密码为 gns3 ,远程登录到 GNS3 。登录后的界面是这样子的:


直接“OK”,然后选择 shell,打开一个 shell。


就进入 shell 了。接下来执行“sudo passwd” 为 root 用户设置密码,就可以切换到 root 权限了。

2. 制作 Docker 镜像

进入 shell 后,可以看到已经安装了 Docker ,里面没有任何镜像:

gns3@gns3vm:~$ docker image ls
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE

接下来我们就基于 Ubuntu 制作个镜像。

新建一个名为“Dockerfile”的文件, 内容如下:

FROM ubuntu:18.04RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.listRUN apt-get -y update && apt-get -y install vim tmux iputils-ping net-tools iproute2 tcpdump netcat curl iptables ebtables python3 WORKDIR /rootCMD /bin/bash

注意: 最后一行的 CMD 写“/bin/bash”【下文会解释】。

然后执行“docker build -t myubuntu .” 命令制作镜像,制作完成后就可以看到:

gns3@gns3vm:~$ docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
myubuntu     latest    63699449312a   2 minutes ago   190MB
ubuntu       18.04     f5cbed4244ba   8 days ago      63.2MB

3. GNS3 中添加 Docker 容器

左上角 Edit -> Preferences,选最下面的 Docker。


Next 之后就可以看到,这里已经列出了我们制作好的镜像:


Next 到这里,可以设置网卡个数,这里我一般设置为 4:


之后一路 Next ,说明都不用填,最后可以看到我们添加的 Docker 容器模板:

4. 使用 Docker 容器

可以在设备里看到我们添加的 Docker 容器,直接拖动组建下面的网络拓扑:


右侧下半部分我们可以看到中间的交换机【在这篇文章中添加的】运行在本地 GNS3【就是我的 Win10 中】,而两个 Docker 容器运行在 GNS3 VM 【虚拟机中】中。

那么我们怎么进入容器内的终端呢?有三种方式:

  1. 直接在图标上右键-》console 进入
  2. 使用 SecureCRT 等远程登录软件 telnet 远程登录,远程登录的IP和端口在右侧上半部分给出
  3. 在 GNS VM 中,执行 docker exec 命令进入

注意:前两种方式可以的原因是第 2 步我们制作镜像时,CMD 命令执行的是“/bin/bash”。如果是其他命令就不行了!各位可以试试。

接下来进入两个容器终端,将 eth0 的 ip 分别配置为 1.1.1.10/24 和 1.1.1.11/24 。
将交换机的两个口UP。就可以 ping 通了!【这下在搭建某些环境时,就可以使用 Docker 容器替代虚拟机了!爽!】

GNS3 中使用 Docker 容器相关推荐

  1. pycharm远程连接服务器中的docker容器的配置

    pycharm远程连接服务器中的docker容器 第一步:服务器中安装docker以及docker容器的运行 1.1docker的安装 docker的安装可以参照阿里云的教程, 阿里云安装教程,包含d ...

  2. Linux中的Docker容器的数据卷

    一.数据卷的概念 1.数据卷是宿主机中的一个目录或者文件 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步 3.一个数据卷可以被多个容器同时挂载 4.一个容器也可以挂载多个数据卷 二.数据卷的作 ...

  3. 在Windows宿主机中ssh连接虚拟机CentOS中的Docker容器

    1.拓扑图 2.前提条件 关闭虚拟机中的防火墙 在docker容器中安装并启用ssh服务 Windows宿主机与虚拟机CentOS网络互通(可通过Xshell连接) 虚拟机CentOS和Docker容 ...

  4. 10分钟教你如何在win10上操作win10上的虚拟机中的docker容器,保证学会

    欢迎关注微信公众号 山人彤 .海量资源免费送 1 背景介绍 小秦同学这几天,在进行分布式系统的学习,难免需要搭建各种集群.但是,小秦同学非常穷,小秦同学的导师也非常地穷,没有一个分布式集群来学习.所以 ...

  5. 如何在开发和生产环境中使用 Docker 容器化 Golang 应用

    你是否想写一个使用 Docker 容器化的 Golang 应用程序?本文的目的就是帮助你快速将你的 Golang 应用程序容器化,以用于 开发 (带热加载)和 生产 目的. 开始之前 请先安装 Doc ...

  6. docker run 挂载卷_如何在构建期间将主机卷挂载到Dockerfile中的Docker容器中

    首先,回答"为什么不起作用VOLUME?" VOLUME在Dockerfile中定义a 时,只能定义目标,而不能定义卷的源.在构建期间,您将仅从中获得一个匿名卷.该匿名卷将在每个R ...

  7. 如何给运行中的docker容器增加映射端口

    方式一: 宝塔面板下操作 点开Docker管理器 点击状态 停掉相应的容器 在点击状态管理 点击停止 停掉docker服务 然后在宿主机宝塔面板找到以下路径文件 例如:我们要新增容器3306端口映射到 ...

  8. 运行中的Docker容器添加映射端口

    一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 docker run -it -d --name [contain ...

  9. Linux中启动Docker容器报错:Error response from daemon: driver failed programming external connectivity

    在启动Docker的容器时,会出现报错:Error response from daemon: driver failed programming external connectivity on e ...

  10. 进入正在运行状态中的Docker容器

    我运行一个包含了SpringBoot应用打好的jar包的docker镜像后,在宿主机控制台看到了SpringBoot应用成功启动的调试信息: 使用docker ps命令找到其container ID: ...

最新文章

  1. 中国科学院计算机专业职称,2018年春季工程技术系列专业技术资格职称评审结束...
  2. python perl 日本的应用_将perl-soap应用程序移植到python
  3. SQL和PL/SQL的性能优化之四---联结与子查询
  4. how is crmd_product_i inserted to db
  5. 有关技术管理的一些思考
  6. TeamCity+Rancher+Docker实现.Net Core项目DevOps
  7. 帝国cms 6.6 采集入库多记录时出现空白 解决办法
  8. 语音自动识别文字软件
  9. 使用ROW_NUMBER()查询:列名 'RowNumber' 无效。
  10. SSCOM的模拟连接测试及服务器连接
  11. 黑苹果E3-1290 v2(ivy bridge架构)安装成功案例分享
  12. 各级政府发布的BIM标准指南37套免费下载
  13. 考研政治---马克思主义基本原理概论---认识论
  14. linux乌班图做服务器,使用 Ubuntu 16.04 搭建全能服务器
  15. 网上书城项目的需求分析、数据库表设计及前端界面的编写(项目进度一)
  16. 泊松图像编辑(Poisson image editing)
  17. AI技术实践|用腾讯云录音文件识别让无字幕视频自动生成字幕
  18. java nanotime 转秒_Java的nanoTime()
  19. 关于双网卡PVE:openwrt(LEDE) + win10直通核显+ DSM918+ 实现HDMI与声卡直通HTPC的解决方案!!
  20. DFS算法之无序列表转换为平衡二叉搜索树

热门文章

  1. android camera 废弃,在Ubuntu系统基于ROS使用废旧Android手机摄像头搭建监控设备
  2. 连续系统离散化_连续系统转化为离散系统之 z 变换
  3. 使用Duilib做的程序封装成DLL的显示加载与卸载问题
  4. 64位和32位的寄存器和汇编的比较
  5. bat批处理文件的简单解密方法(乱码)
  6. C语言学习资源汇总,史上最全面总结,没有之一
  7. 表单式工作流功能模块设计方案
  8. 一个简单小说阅读网页html,简单版小说搜索阅读(64位程序)
  9. sql2003安装sql2005企业版
  10. java下面哪些定义正确_Java认证考试题