小知识:Docker Machine远程部署Docker的方法

一、docker machine概要

Docker Machine发布之前,你可能会遇到以下问题:

①你需要登录主机,按照主机及操作系统特有的安装以及配置步骤安装Docker,使其能运行Docker容器。

②你需要研发一套工具管理多个Docker主机并监控其状态。

③你在本地开发,产品部署在公有云平台,你希望能尽可能的减小两个环境的差异性

Docker Machine的出现解决了以上问题。

①Docker Machine简化了部署的复杂度,无论是在本机的虚拟机上还是在公有云平台,只需要一条命令便可搭建好Docker主机

②Docker Machine提供了多平台多Docker主机的集中管理

③Docker Machine 使应用由本地迁移到云端变得简单,只需要修改一下环境变量即可和任意Docker主机通信部署应用。

二、docker machine在远程主机部署docker

环境:

docker-machine主机:192.168.1.9 docker版本:docker-ce

docker主机:192.168.1.10

步骤:

①更新curl

?
1
yum update curl -y

②安装docker-machine

安装可参考docker-machine官网

linux下载路径:

复制代码 代码如下:
curl -L https://github.com/docker/mac…uname -s-uname -m >/tmp/docker-machine && install /tmp/docker-machine /usr/local/bin/docker-machine

按需求直接复制粘贴安装即可

?
1
2
[root@node1 ~]# docker-machine -v
docker-machine version 0.13.0, build 9ba6da9

③创建ssh密钥对,实现两主机无密登录

?
1
2
[root@node1 ~]# ssh-keygen
[root@node1 ~]# ssh-copy-id 192.168.1.10

④为本地下载更多镜像源,避免在创建machine时找不到软件包

?
1
2
[root@node1 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/rep… #此为阿里云centos7镜像源
[root@node1 ~]# yum install epel-release #第三方源

⑤开启machine通讯端口

?
1
2
[root@node1 ~]# firewall-cmd –add-port=2376/tcp –permanent
[root@node1 ~]# firewall-cmd –reload

⑥创建docker主机,命名host1

?
1
2
3
4
5
6
7
8
9
10
11
12
13
[root@node1 ~]# docker-machine create -d generic –generic-ip-address=192.168.1.10 host1
Running pre-create checks…
Creating machine…
(swarm-master) No SSH key specified. Assuming an existing key at the default location.
Waiting for machine to be running, this may take a few minutes…
Detecting operating system of created instance…
Waiting for SSH to be available…
Detecting the provisioner…
Provisioning with centos…
Running…
[root@node1 ~]# docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
host1 – generic Running tcp://192.168.1.10:2376 v17.12.1-ce

⑦变更docker环境变量

?
1
[root@node1 ~]# docker-machine env host1
?
1
2
3
4
5
6
export DOCKER_TLS_VERIFY=”1″
export DOCKER_HOST=”tcp://192.168.1.10:2376″
export DOCKER_CERT_PATH=”/root/.docker/machine/machines/host1″
export DOCKER_MACHINE_NAME=”host1″
# Run this command to configure your shell:
# eval $(docker-machine env host1)
?
1
[root@node1 ~]# eval $(docker-machine env host1)

⑧运行容器查看两端是否同步

?
1
2
3
4
5
6
7
8
9
10
11
12
[root@node1 ~]# docker run -d busybox
[root@node1 ~]# docker-machine ssh host1
[root@host1 ~]# docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest f6e427c148a7 6 days ago 1.15MB
[root@host1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d9b5005a264 busybox “sh” 17 seconds ago Up 16 seconds ago modest_joliot
[root@host1 ~]# exit
[root@node1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
8d9b5005a264 busybox “sh” 57seconds ago Up 16 seconds ago modest_joliot

镜像容器同步测试成功

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://segmentfault.com/a/1190000014246627

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:如何正确且快速构建Docker优质的安全镜像

2023-4-11 14:34:02

建站知识

小知识:使用docker创建集成服务lnmp环境

2023-4-11 14:56:06

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索