docker-machine 搭建 docker 练习环境

本贴最后更新于 2115 天前,其中的信息可能已经事过景迁

一、文件下载

boot2docker.iso DockerToolbox-18.03.0-ce.exe

docker_免费高速下载|百度网盘-分享无限制

DockerToolbox 安装可以不选择 virtualbox 的安装,自己去官网下载 6.0 版本,6.0 版本可以不使用命令就能后台运行虚拟机。

二、创建虚拟机

首先为什么要用 DockerToolbox 创建,因为这样不用一步步的在虚拟机安装 linux 系统,然后安装 docker,这也是一个很繁杂的过程,所以选择 DockerToolbox,boot2docker.iso 已经自带了 docker 的微型 linux 系统。

DockerToolbox,virtualbox 安装好之后就可以创建 docker 虚拟机了

首先进入 boot2docker.iso 的存放目录,然后打开命令行(建议使用 bash 命令,cmd 可能会出现问题)

//如果cmd请使用
docker-machine -s "I:\dockerVm\" create --engine-registry-mirror=https://wf45d3ay.mirror.aliyuncs.com -d virtualbox --virtualbox-boot2docker-url=boot2docker.iso docker6

//bash请使用
docker-machine --storage-path=I:/dockerVm/ create --engine-registry-mirror=https://wf45d3ay.mirror.aliyuncs.com -d virtualbox --virtualbox-boot2docker-url=boot2docker.iso docker6

关于参数:

docker-machine -help 参看参数
-s linux 虚拟机文件的位置 也可以用--storage-path=I:\dockerVm\
--engine-registry-mirror docker 镜像加速地址,可以去自己的阿里控制台申请
-d 使用 virtualbox 类型的虚拟机
--virtualbox-boot2docker-url boot2docker 镜像的位置
--virtualbox-disk-size 30000 虚拟机磁盘空间个人认为最好多一点
--virtualbox-cpu-count 2 核心数
--virtualbox-memory 2048 内存
最后是虚拟机的名字

创建完成如下图

imagepng

由于我电脑使用 docker-machine ls 命令一直不好用就不演示了。

三、ssh 链接虚拟机

查看虚拟机的 ip 地址,因为我这边 docker-machine ls 命令不行 所以就用最稳的方法看。

打开 virtualbox,找到刚才创建的虚拟机 docker6,点击显示,然后输入 ifconfig 就能看的地址
如图:
imagepng
imagepng

我自己的地址就是 192.168.99.102

然后使用 xshell(任意 ssh 工具)连登录虚拟机

imagepng

boot2docker 用户和密码

用户 密码 进入方式
docker tcuser ssh
root command:sudo -i (docker 用户下执行)

imagepng

登录之后就可以玩 docker 了,比如我想要一个 mysql

docker pull mysql:5.7

imagepng

运行 mysql 容器

docker run -itd -p 3312:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

-p 命令 端口映射,左边虚拟机的端口,右边容器 mysql 的端口

imagepng

docker ps 查看运行的容器

imagepng

我这里用 Navicat 连接一下 mysql 测试一下。

imagepng

imagepng

可以看到是可以成功连接到的。

至此环境就算搭建完毕。
遗留问题
docker-machine cmd 创建会报错,后续如果解决的话 我会写出来
Error creating machine: Error in driver during machine creation: Too many retries waiting for SSH to be available. Last error: Maximum number of retries (60) exceeded

  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    490 引用 • 916 回帖 • 1 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...