使用内网的Docker Image启动AcmeAir应用
1.修改docker启动选项,添加信赖私有仓库
为了拉取docker.oneapm.me仓库里的镜像,我们需要将它添加为信赖仓库,方式是在启动选项中添加 --insecure-registry docker.oneapm.me
A. Ubuntu环境
在Ubuntu 14环境中添加
- 修改Docker配置文件
- vi /etc/default/docker
- 增加以下一行
- DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=docker.oneapm.me"
- 重启Docker
- systemctl daemon-reload
- sudo service docker restart
在Ubuntu 15环境中添加
- 修改Docker配置文件
- vi /lib/systemd/system/docker.service
- 修改 ExecStart=/usr/bin/docker daemon -H fd://
- 改成 ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry=docker.oneapm.me
- 重启Docker
- systemctl daemon-reload
- sudo service docker restart
B.在Centos环境中添加
1)查看docker.service的文件路径
2)上图中Loaded节描述的文件位置即为docker.service文件的路径,然后查看文件,
3)上图中,可以看到,依赖的参数配置,是从/etc/sysconfig/docker中加载进来的。用编辑器打开/etc/sysconfig/docker,然后在OPTIONS中添加下面的内容,然后重新加载配置systemctl daemon-reload,再重启docker
如果没有上图中的EnvironmentFile参数配置 可以直接在添加 ExecStart=/usr/bin/docker daemon -H fd:// --insecure-registry=docker.oneapm.me
- OPTIONS='--selinux-enabled --insecure-registry docker.oneapm.me'
- systemctl daemon-reload
- systemctl restart docker.service
C.在windows环境中添加
- boot2docker ssh
- sudo vi /var/lib/boot2docker/profile
- 增加一行
- EXTRA_ARGS="--insecure-registry docker.oneapm.me"
- 保存,然后重启docker服务:
- sudo /etc/init.d/docker restart
D.任何环境均可使用带启动参数后台方式启动(如果上面的方式没有生效,请使用这种这种方式)
- 若使用命令行方式启动docker:
- nohup docker -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock --insecure-registry docker.oneapm.me -d > /dev/null 2>&1 &
2.拉取镜像(image)
只需要选择cassandra和mysql其中一个
1)cassandra数据库版本的镜像
创建一个脚本 vi pullimages_cassandra.sh ,内容如下block里面所示,然后执行脚本sh pullimages_cassandra.sh
- #!/bin/bash
- docker pull docker.oneapm.me/acmeair/webapp
- docker pull docker.oneapm.me/acmeair/auth-service
- docker pull docker.oneapm.me/acmeair/eureka
- docker pull docker.oneapm.me/acmeair/zuul
- docker pull docker.oneapm.me/acmeair/loader
- docker pull docker.oneapm.me/acmeair/cassandra
- docker pull docker.oneapm.me/ubuntu
- docker pull docker.oneapm.me/crosbymichael/skydock
- docker pull docker.oneapm.me/crosbymichael/skydns
2)MySQL数据库版本的镜像
创建一个脚本 vi pullimages_mysql.sh ,内容如下block里面所示,然后执行脚本sh pullimages_mysql.sh
- #!/bin/bash
- docker pull docker.oneapm.me/acmeair/webapp-mysql
- docker pull docker.oneapm.me/acmeair/auth-service-mysql
- docker pull docker.oneapm.me/acmeair/eureka
- docker pull docker.oneapm.me/acmeair/zuul
- docker pull docker.oneapm.me/acmeair/loader-mysql
- docker pull docker.oneapm.me/acmeair/mysql
- docker pull docker.oneapm.me/ubuntu
- docker pull docker.oneapm.me/crosbymichael/skydock
- docker pull docker.oneapm.me/crosbymichael/skydns
3.修改镜像名称
创建一个新脚本:renameimages.sh,内容如下block所示,然后执行 sh renameimages.sh
- #!/bin/bash
- images=`docker images | grep "oneapm" | awk '{print $1}'`
- for i in $images
- do
- newname=`echo "$i" | cut -d / -f 2-3`
- docker tag $i $newname
- docker rmi -f $i
- done
4.启动镜像
下载acmeair-netflsixoss(https://yunpan.cn/cvX6wBK7M5ptE (提取码:2da6)请下载适合自己环境的压缩文件),解压后,执行启动脚本(根据上面镜像版本,选择启动cassandra或MySQL的应用):
1)cassandra数据库版本的环境
- cd acmeair-netflixoss.git/bin
- ./startallexceptscaler.sh
2)MySQL数据库版本的环境
- cd acmeair-netflixoss.git/bin
- ./startallwithmysql.sh
5.部署ejb-server并启动它
注:这只针对mysql版的
- 下载ejb-server-0.4.0.jar(https://yunpan.cn/cvXBMCNSNDPBu 提取码:b8a8)
把ejb-server-0.4.0.jar包 复制到wlsadmin1容器里 运行指令如下:
- docker cp ejb-server-0.4.0.jar wlsadmin1:/u01/
- 部署并启动ejb-server-0.4.0.jar,请查看wiki:在Docker的wlsadmin1容器里部署ejb-server-0.4.0.jar
6.验证是否已经正常启动
主页面可以正常打开,并且登陆、账户、查票等功能可以正常使用,如图:
或者使用 acmeair-netflixoss/bin/testzuul.sh,确认收到 200 返回值 (如果提示curl not found ,应该是机器没有curl命令,请使用命令安装 apt-get install curl )
- root@acmeair-haishan-test:~/acmeair/acmeair-netflixoss/bin# ./testzuul.sh
- 200 HTTP://172.17.0.4/rest/api/login
- 200 HTTP://172.17.0.4/rest/api/customer/byid/uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/flights/queryflights
- 200 HTTP://172.17.0.4/rest/api/login/logout?login=uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/login
- 200 HTTP://172.17.0.4/rest/api/customer/byid/uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/flights/queryflights
- 200 HTTP://172.17.0.4/rest/api/login/logout?login=uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/login
- 200 HTTP://172.17.0.4/rest/api/customer/byid/uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/flights/queryflights
- 200 HTTP://172.17.0.4/rest/api/login/logout?login=uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/login
- 200 HTTP://172.17.0.4/rest/api/customer/byid/uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/flights/queryflights
- 200 HTTP://172.17.0.4/rest/api/login/logout?login=uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/login
- 200 HTTP://172.17.0.4/rest/api/customer/byid/uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/flights/queryflights
- 200 HTTP://172.17.0.4/rest/api/login/logout?login=uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/login
- 200 HTTP://172.17.0.4/rest/api/customer/byid/uid0@email.com
- 200 HTTP://172.17.0.4/rest/api/flights/queryflights
- 200 HTTP://172.17.0.4/rest/api/login/logout?login=uid0@email.com
下一步 部署探针 (企业版 SaaS版)
使用内网的Docker Image启动AcmeAir应用的更多相关文章
- redhat 7.2 内网安装docker
本文介绍在内网环境下如果通过网络代理映射来完成docekr的安装,首先在能上网的windows机器上安装squid,并启动,本实例中windows机器IP为 192.168.192.101 ,squi ...
- 内网部署Docker版本Gitlab
Gitlab部署: 1. 还原备份文件后记得拷贝gitlab-secrets.json,不然会遇到500错误 2. 下载Docker以及依赖项rpm包 3. 在外网机器下载镜像 a. 拉取——Dock ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- Docker源码安装附内网镜像安装演示
Docker源码安装附内网镜像安装演示 系统版本要求 当前系统版本:CentOS Linux release 7.9.2009 (Core) 内核版本:3.10.0-1160.el7.x86_64 注 ...
- Linux系统如何在离线环境或内网环境安装部署Docker服务和其他服务
如何在离线环境或纯内网环境的Linux机器上安装部署Docker服务或其他服务.本次我们以Docker服务和Ansible服务为例. 获取指定服务的所有rpm包 保证要获取rpm包的机器能够上网. 本 ...
- 典型案例收集-使用OpenVPN连通多个机房内网(转)(静态路由)
说明: 1.这篇文章主要是使用静态路由表实现的多个机房通过VPN连接后的子网机房互通. 2.OpenVPN使用的是桥接模式(server-bridge和dev tap),这个是关键点,只有这样设置才可 ...
- frp 用于内网穿透的基本配置和使用
frp 用于内网穿透的基本配置和使用 今天是端午节,先祝端午安康! frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP.UDP.HTTP.HTTPS 等多种协议.可以将内网服务以安全.便 ...
- 在centos下部署docker内网私服
Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已 ...
- 内网环境上部署k8s+docker集群:集群ftp的yum源配置
接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从ht ...
随机推荐
- EntityFramwork(2Database First) 源地址https://msdn.microsoft.com/zh-cn/data/jj193542
必备条件 要完成本演练,需要安装 Visual Studio 2010 或 Visual Studio 2012. 如果使用的是 Visual Studio 2010,还需要安装 NuGet. ...
- linux内核打印"BUG: scheduling while atomic
linux内核打印"BUG: scheduling while atomic"和"bad: scheduling from the idle thread"错误 ...
- TFS更新
我们小组决定将对学长的代码提出改进意见贯穿整个任务的整个过程,随时更新任务进度. 共计预计项目时间为58小时. 每个人都能够达到5到10小时的工作量.
- Daily Scrum1--团队项目分工及估计时间
团队项目分工及估计时间 PM(黄剑锟): 任务一:监督进度,将每一天完成的任务总结,在各个部分进行协调与帮助.(贯穿整个项目周期) 任务二:提高搜索反应时间,优化搜索算法.(估计时间8小时) 程序设计 ...
- android sdk manager下载慢可以使用代理信息
mirrors.neusoft.edu.cn 80
- mac下phpstorm左侧的project列表找不到了
早上开机,发现左侧的project列表没有了,用着不方便,当然了,是可以调出来的. View-Tool Windows-Project,就出来来. 快捷键:command+1. 问题解决.
- Codeforces Round #365 (Div. 2) D. Mishka and Interesting sum 离线+线段树
题目链接: http://codeforces.com/contest/703/problem/D D. Mishka and Interesting sum time limit per test ...
- 通过HTTP访问网络资源
添加访问网络的权限:<uses-permission android:name="android.permission.INTERNET"/> package com. ...
- Leetcode#57 Insert Interval
原题地址 遍历每个区间intervals[i]: 如果intervals[i]在newInterval的左边,且没有交集,把intervals[i]插入result 如果intervals[i]在ne ...
- mingw fbx sdk /浮点数精度
接下来要做一个linux下的程序了. 下载linux version fbx sdk tar zxvf ...gz 按照安装说明 提升权限并没什么用 还是,cannot execute bin ...