Docker学习二(部署一个可以自由获取环境变量的SpringWeb)

引言

Dokcer学习一 已经可以简单的安装一个Docker 容器并暴露某个端口给外部使用了。
安装不是目的, 应用才是王道。 发布一个快速部署的Web容器才是Docker的用处。

当前有需求:

Tomcat启动在Docker容器中,它需要告知注册中心自己暴露对外的Host以及Port。
传统的方式只可以获取到Tomcat启动时绑定的端口, 需要获取Docker对外映射的宿主机的Host以及开放的端口。

环境部署

应用程序目录:/opt

安装JDK.

# wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.tar.gz

# ls
jdk-8u91-linux-x64.tar.gz

# tar -xzvf jdk-8u91-linux-x64.tar.gz

# jdk1.8.0_91/bin/java -version
java version "1.8.0_91"
Java(TM) SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

安装Tomcat

# wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.0/bin/apache-tomcat-8.5.0.tar.gz
# tar -xzvf apache-tomcat-8.5.0.tar.gz 

# apache-tomcat-8.5.0/bin/startup.sh 
Using CATALINA_BASE:   /opt/apache-tomcat-8.5.0
Using CATALINA_HOME:   /opt/apache-tomcat-8.5.0
Using CATALINA_TMPDIR: /opt/apache-tomcat-8.5.0/temp
Using JRE_HOME:        /opt/jdk1.8.0_91
Using CLASSPATH:       /opt/apache-tomcat-8.5.0/bin/bootstrap.jar:/opt/apache-tomcat-8.5.0/bin/tomcat-juli.jar
Tomcat started.

# curl -I -s 127.0.0.1:8080
HTTP/1.1 200 


将程序委托给Supervisord管理

# echo '#! /bin/bash

export JAVA_HOME=/opt/jdk1.8.0_91
export CLASSPATH=.:$JAVA_HOME:/lib:$JAVA_HOME/jre/lib:
export PATH=$PATH:$JAVA_HOME/bin

/opt/apache-tomcat-8.5.0/bin/startup.sh' > /etc/supervisor/conf.d/tomcat.sh

# echo '[supervisord]
nodaemon=true
[program:tomcat]
command=/etc/supervisor/conf.d/tomcat.sh' > /etc/supervisor/conf.d/tomcat.conf

当然, 每次变更一定要记住提交。

# docker commit acf27ff06413 tomcat

此时就可以开始访问Tomcat服务了。

# docker run -it -d -p 22 -p 8080 tomcat /usr/bin/supervisord

# docker ps -a
IMAGE       STATUS              PORTS                                         
tomcat      Up 6 seconds        0.0.0.0:32774->22/tcp, 0.0.0.0:32773->8080/tcp

# curl -I 127.0.0.1:32773
HTTP/1.1 200

将Docker镜像导出以便于本地使用

# docker export d3219e60d2b2 > docker_tomcat.tar
# gzip docker_tomcat.tar
# docker start d3219e60d2b2

# docker ps -a
CONTAINER ID     COMMAND                     PORTS                                         
d3219e60d2b2     "/usr/bin/supervisord"      0.0.0.0:32776->22/tcp, 0.0.0.0:32775->8080/tcp

# docker cp docker_tomcat.tar.gz 63730c15f13e:/opt/apache-tomcat-8.5.0/webapps/ROOT/docker_tomcat.html

# wget -b -c 公网ip:32775/docker_tomcat.html > docker_tomcat.tar.gz

此处分享:
服务器选购需谨慎。 上方下载共计耗时12小时。 选择更适合自己的方式很重要。

Web部署

源码展示 (非必须)

UnmodifiedSet.java

import java.util.Collection;
import java.util.Iterator;
import j
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值