作者:天使哥特式 | 来源:互联网 | 2023-08-25 21:20
安装docker-machine$curl-Lhttps:github.comdockermachinereleasesdownloadv0.14.0docker-machine
安装docker-machine
$ curl -L https://github.com/docker/machine/releases/download/v0.14.0/docker-machine-`uname -s`-`uname -m` >/tmp/docker-machine &&chmod +x /tmp/docker-machine &&sudo cp /tmp/docker-machine /usr/local/bin/docker-machine
准备远程主机
在使用 docker-machine 进行远程安装前我们需要做一些准备工作:
1. 在目标主机上创建一个用户并加入sudo 组
2. 为该用户设置 sudo 操作不需要输入密码
3. 把本地用户的 ssh public key 添加到目标主机上
比如我们要在远程主机上添加一个名为 nick 的用户并加入 sudo 组:
$ sudo adduser nick
$ sudo usermod -a -G sudo nick
然后设置 sudo 操作不需要输入密码:
$ sudo visudo
把下面一行内容添加到文档的最后并保存文件:
nick ALL=(ALL:ALL) NOPASSWD: ALL
最后把本地用户的 ssh public key 添加到目标主机上:
$ ssh-copy-id -i ~/.ssh/id_rsa.pub nick@xxx.xxx.xxx.xxx
# 注意:此命令如果用sudo执行,~代表/root;如果不用sudo,~代表/peter/home
这几步操作的主要目的是获得足够的权限可以远程的操作目标主机。
在远程主机上安装virtual box
在本地主机上安装virtualbox,如已安装可忽略
$ sudo apt install virtualbox
在本地主机上,向远程主机host1安装virtualbox
$ docker-machine create --engine-registry-mirror="https://s0iielsh.mirror.aliyuncs.com" --driver virtualbox host1
可能出现的异常:
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
此错误有两处需要注意:
1、BIOS需要开起硬件虚拟化支持
2、不要用Oracle VM virtaulbox创建虚拟机,Oracle VM virtaulbox不支持嵌套虚拟机。本文用的是VMware Workstation,所以是在 虚拟机->设置 里设置处理器的虚拟化引擎首选模式为“Intel VT-x/EPT 或AMD-V/RVI”及“虚拟化Intel VT-x/EPT 或AMD-V/RVI(V)”
列出安装好的远程虚拟机
$ docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORShost1 - virtualbox Running tcp://192.168.99.100:2376 v17.06.0-ce
查看虚拟机IP等信息
$ docker-machine env host1
操作远程主机
用本机docker客户端指向host1的docker
$ eval $(docker-machine env host1)
查看远程主机上的docker信息
$ docker info
创建docker中的网络
$ docker network create dongnao_net
安装并运行gitlab
$ docker run -d --net=dongnao_net --publish 1443:443 --publish 18080:80 --name gitlab --restart always gitlab/gitlab-ce:latest
端口18080,通过你的虚拟机IP取访问就可以看到页面了
安装并运行rabbitmq
$ docker run -d --net=dongnao_net --name rabbitmq --publish 5671:5671 --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 rabbitmq:management
连接的端口是 5672
web控制台是 15672
参考: https://www.cnblogs.com/sparkdev/p/7044950.html