GNS3 中使用 Docker 容器
前言
本文通过一个非常简单的例子说明
- 如何在 GNS3 VM 中制作可以使用的 Docker 镜像。
- 在 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 【虚拟机中】中。
那么我们怎么进入容器内的终端呢?有三种方式:
- 直接在图标上右键-》console 进入
- 使用 SecureCRT 等远程登录软件 telnet 远程登录,远程登录的IP和端口在右侧上半部分给出
- 在 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 容器相关推荐
- pycharm远程连接服务器中的docker容器的配置
pycharm远程连接服务器中的docker容器 第一步:服务器中安装docker以及docker容器的运行 1.1docker的安装 docker的安装可以参照阿里云的教程, 阿里云安装教程,包含d ...
- Linux中的Docker容器的数据卷
一.数据卷的概念 1.数据卷是宿主机中的一个目录或者文件 2.当容器目录和数据卷目录绑定后,对方的修改会立即同步 3.一个数据卷可以被多个容器同时挂载 4.一个容器也可以挂载多个数据卷 二.数据卷的作 ...
- 在Windows宿主机中ssh连接虚拟机CentOS中的Docker容器
1.拓扑图 2.前提条件 关闭虚拟机中的防火墙 在docker容器中安装并启用ssh服务 Windows宿主机与虚拟机CentOS网络互通(可通过Xshell连接) 虚拟机CentOS和Docker容 ...
- 10分钟教你如何在win10上操作win10上的虚拟机中的docker容器,保证学会
欢迎关注微信公众号 山人彤 .海量资源免费送 1 背景介绍 小秦同学这几天,在进行分布式系统的学习,难免需要搭建各种集群.但是,小秦同学非常穷,小秦同学的导师也非常地穷,没有一个分布式集群来学习.所以 ...
- 如何在开发和生产环境中使用 Docker 容器化 Golang 应用
你是否想写一个使用 Docker 容器化的 Golang 应用程序?本文的目的就是帮助你快速将你的 Golang 应用程序容器化,以用于 开发 (带热加载)和 生产 目的. 开始之前 请先安装 Doc ...
- docker run 挂载卷_如何在构建期间将主机卷挂载到Dockerfile中的Docker容器中
首先,回答"为什么不起作用VOLUME?" VOLUME在Dockerfile中定义a 时,只能定义目标,而不能定义卷的源.在构建期间,您将仅从中获得一个匿名卷.该匿名卷将在每个R ...
- 如何给运行中的docker容器增加映射端口
方式一: 宝塔面板下操作 点开Docker管理器 点击状态 停掉相应的容器 在点击状态管理 点击停止 停掉docker服务 然后在宿主机宝塔面板找到以下路径文件 例如:我们要新增容器3306端口映射到 ...
- 运行中的Docker容器添加映射端口
一般在运行容器时,我们都会通过参数 -p(使用大写的-P参数则会随机选择宿主机的一个端口进行映射)来指定宿主机和容器端口的映射,例如 docker run -it -d --name [contain ...
- Linux中启动Docker容器报错:Error response from daemon: driver failed programming external connectivity
在启动Docker的容器时,会出现报错:Error response from daemon: driver failed programming external connectivity on e ...
- 进入正在运行状态中的Docker容器
我运行一个包含了SpringBoot应用打好的jar包的docker镜像后,在宿主机控制台看到了SpringBoot应用成功启动的调试信息: 使用docker ps命令找到其container ID: ...
最新文章
- 中国科学院计算机专业职称,2018年春季工程技术系列专业技术资格职称评审结束...
- python perl 日本的应用_将perl-soap应用程序移植到python
- SQL和PL/SQL的性能优化之四---联结与子查询
- how is crmd_product_i inserted to db
- 有关技术管理的一些思考
- TeamCity+Rancher+Docker实现.Net Core项目DevOps
- 帝国cms 6.6 采集入库多记录时出现空白 解决办法
- 语音自动识别文字软件
- 使用ROW_NUMBER()查询:列名 'RowNumber' 无效。
- SSCOM的模拟连接测试及服务器连接
- 黑苹果E3-1290 v2(ivy bridge架构)安装成功案例分享
- 各级政府发布的BIM标准指南37套免费下载
- 考研政治---马克思主义基本原理概论---认识论
- linux乌班图做服务器,使用 Ubuntu 16.04 搭建全能服务器
- 网上书城项目的需求分析、数据库表设计及前端界面的编写(项目进度一)
- 泊松图像编辑(Poisson image editing)
- AI技术实践|用腾讯云录音文件识别让无字幕视频自动生成字幕
- java nanotime 转秒_Java的nanoTime()
- 关于双网卡PVE:openwrt(LEDE) + win10直通核显+ DSM918+ 实现HDMI与声卡直通HTPC的解决方案!!
- DFS算法之无序列表转换为平衡二叉搜索树