使用内网的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-netflsixosshttps://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版的

docker cp ejb-server-0.4.0.jar wlsadmin1:/u01/

AcmeAir相关问题及解决方法链接

6.验证是否已经正常启动

主页面可以正常打开,并且登陆、账户、查票等功能可以正常使用,如图:

或者使用 acmeair-netflixoss/bin/testzuul.sh,确认收到 200 返回值 (如果提示curl not found ,应该是机器没有curl命令,请使用命令安装 apt-get install curl )

[email protected]:~/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/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/flights/queryflights
200 HTTP://172.17.0.4/rest/api/login/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/login
200 HTTP://172.17.0.4/rest/api/customer/byid/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/flights/queryflights
200 HTTP://172.17.0.4/rest/api/login/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/login
200 HTTP://172.17.0.4/rest/api/customer/byid/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/flights/queryflights
200 HTTP://172.17.0.4/rest/api/login/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/login
200 HTTP://172.17.0.4/rest/api/customer/byid/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/flights/queryflights
200 HTTP://172.17.0.4/rest/api/login/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/login
200 HTTP://172.17.0.4/rest/api/customer/byid/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/flights/queryflights
200 HTTP://172.17.0.4/rest/api/login/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/login
200 HTTP://172.17.0.4/rest/api/customer/byid/[email protected]email.com
200 HTTP://172.17.0.4/rest/api/flights/queryflights
200 HTTP://172.17.0.4/rest/api/login/[email protected]

下一步 部署探针 (企业版   SaaS版)

时间: 2024-10-06 00:45:01

使用内网的Docker Image启动AcmeAir应用的相关文章

redhat 7.2 内网安装docker

本文介绍在内网环境下如果通过网络代理映射来完成docekr的安装,首先在能上网的windows机器上安装squid,并启动,本实例中windows机器IP为 192.168.192.101 ,squid服务端口为3128 1.登录进入redhat 7.2 2.依次执行如下语句 proxy=192.168.192.101:3128 echo "proxy=http://${proxy}" >>/etc/yum.conf echo "http_proxy=${prox

外网访问内网Docker容器

外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 Docker容器默认的sshd端口是22. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.2 获取holer access key信息 在holer官网上申请专

怎样从外网访问内网Docker容器

外网访问内网Docker容器 局域网里的主机上安装了Docker容器,只能在内网访问,怎样从外网也能访问内网的Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 Docker容器默认的sshd端口是22. 2. 实现步骤 2.1 下载并解压holer软件包 Holer软件包:holer-xxx.tar.gz Holer支持各种OS系统平台,请选择跟本地OS类型匹配的holer软件包. 2.2 获取holer access key信息 在holer官

外网、内网,app互相通信,消息反向发送

之前在做系统时有一个应用是,app.外网服务端.内网服务端.内网客户端通信互发消息,由于系统的设计,内网服务端和外网服务端被定义成为web服务器,这里的外网服务端 和内网服务端没有严格的定义可以随意的替换成其他的,在我们的应用中外网服务端是一个外网的web应用的服务器,内网服务端是一个联网的内网的服务器(多个),内网客户端是一个不联网的本地程序(一个内网服务端下面有多个),app则是一个联网和外网服务端通信以及通过wifi网络和内网服务端通信的应用程序(这里略去wifi通信),消息通信的流程是,

centos6 Docker桥接到主机所在的内网

测试环境: windows7台式机:   ip:10.0.1.6/16  网关:10.0.0.254/16 上网正常. vmware虚拟机一台:  centos6.6_64mini eth0 ip:10.0.1.21/16  网关:10.0.0.254/16 用到软件包: pipework iproute-2.6.32-130.el6ost.netns.2.x86_64.rpm 下载地址: https://yunpan.cn/crp5XAESHHh3d  访问密码 57e8 一.CentOS6.

部署内网Docker Registry

目前docker 已经分为社区版 (docker CE)和 商业版(docker EE),最新的版本由原来的1.13直接跳到了17.06,目前由于17.06的刚刚发布,在使用Docker 的时候可以根据自己的需求选择相应的版本. Docker 安装 先移除其他非官方的版本: yum -y remove docker docker-common container-selinux yum -y remove docker-selinux 添加yum源,这里选择1.13的版本: yum instal

在centos下部署docker内网私服

Docker内网私服:docker-registry with nginx & ssl on centos docker-registry既然也是软件应用,自然最简单的方法就是使用官方提供的已经部署好的镜像registry.官方文档中也给出了建议,直接运行sudo docker run -p 5000:5000 registry命令.这样确实能启动一个registry服务器,但是所有上传的镜像其实都是由docker容器管理,放在了/var/lib/docker/....某个目录下.而且一旦删除容

docker 指定ip开容器,并且和内网在同一个网段

docker 指定ip开机器,并且和内网在同一个网段     第1步:创建自定义网络     备注:这里选取了100.0.0.0网段,也可以指定其他任意空闲的网段     docker network create --subnet=100.0.0.0/16 shadownet     注:shadown为自定义网桥的名字,可自己任意取名.     第2步:在你自定义的网段选取任意IP地址作为你要启动的container的静态IP地址     备注:这里在第二步中创建的网段中选取了100.0.0

内网环境上部署k8s+docker集群:集群ftp的yum源配置

接触docker已经有一年了,想把做的时候的一些知识分享给大家. 因为公司机房是内网环境无法连接外网,所以这里所有的部署都是基于内网环境进行的. 首先,需要通过ftp服务制作本地的yum源,可以从http://mirrors.163.com/centos/ 上找到对应版本的centos系统,下载该系统的base和extra包到本地. 将下载完成的文件放到服务器的/var/ftp/pub/media/x86_64目录下./var/ftp为ftp服务器的根目录.这里请谨记,ftp一般在系统安装的时候