Docker-部署Springcloud应用

部署eureka注册中心

部署eureka 注册中心。因为springboot自带Tomcat,所以直接打jar包,直接java -jar ....jar

准备一个centos6带有jdk的容器

docker pull centos:6
docker run -it --name centos_micro -p 58889:8889 centos:6

下载jdk

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

jdk拷贝到容器内

FengZhen$ docker cp /Users/FengZhen/Downloads/jdk-8u171-linux-x64.tar.gz 42d5bc926de3:/jdk-8u171-linux-x64.tar.gz

进入容器

FengZhen$ docker exec -it 42d5bc926de3 /bin/bash
[root@42d5bc926de3 /]# ls
bin  home                        lib64       mnt   root     srv  usr
dev  jdk-8u171-linux-x64.tar.gz  lost+found  opt   sbin     sys  var
etc  lib                         media       proc  selinux  tmp

 

安装jdk

tar -zxvf jdk-8u171-linux-x64.tar.gz

配置环境变量

[root@42d5bc926de3 /]# vi ~/.bash_profile
export JAVA_HOME=/java/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin

[root@42d5bc926de3 /]# source ~/.bash_profile
[root@42d5bc926de3 /]# java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

Jdk安装成功

将项目jar包拷贝进容器内

FengZhen$ docker cp eureka-server-0.0.1-SNAPSHOT.jar 42d5bc926de3:/jar/
[root@42d5bc926de3 jar]# ls
eureka-server-0.0.1-SNAPSHOT.jar

直接使用java -jar执行该jar包

[root@42d5bc926de3 jar]# java -jar eureka-server-0.0.1-SNAPSHOT.jar

执行成功后,在宿主主机请求该端口 

 

 

成功

 

使用Nginx负载均衡

将以上操作的容器提交产生新的镜像 centos6_jdk:0.1

FengZhen$ docker commit -m 'add jdk1.8' -a "Dokcer FZ" 42d5bc926de3 centos6_jdk:0.1
sha256:1aa27342ec8e323110926ee108b72f6127f6615cb3140156e8b847a1f2504e00

启动一个新的容器

FengZhen$ docker run -itd --name centos_micro1 -p 58888:8889 centos6_jdk:0.1
ba235b30c2a8f3701dc1022d8c7215e2c5554c3e881dc873ada12f1c19374883

进入容器

FengZhen$ docker exec -it ba235b30c2a8 /bin/bash
[root@ba235b30c2a8 /]#

启动项目

[root@ba235b30c2a8 jar]# java -jar eureka-server-0.0.1-SNAPSHOT.jar

 

启动nginx

FengZhen$ docker run -itd --name nginx_micro -p 50080:80 -v /Users/FengZhen/Desktop/积累/docker/docker_nginx:/usr/share/nginx/html nginx:latest
f9bef01af25416dc3866f4d49e7ed10b8feced753f439c4dfed7c8f8a43d6eed
FengZhen$ echo "hello docker nginx!" > index.html

进入容器

FengZhen$ docker exec -it f9bef01af254/bin/bash

Nginx默认index.html更换内容如下

root@fe21c9e2f1af:/# cd /usr/share/nginx/html/
root@fe21c9e2f1af:/usr/share/nginx/html# ls
50x.html  index.html
root@fe21c9e2f1af:/usr/share/nginx/html# cp index.html index_bak.html
root@fe21c9e2f1af:/usr/share/nginx/html# echo "hello docker nginx!" > index.html

此时刷新页面可以看到页面内容已成功更换。

# /usr/sbin/nginx       启动nginx服务

# apt-get update        升级vim

# apt-get install vim        安装vim

 

配置/etc/nginx/nginx.conf

html{}中添加

upstream micro{
server 192.168.1.102:58889;
server 192.168.1.012:58888;
}

 

配置 /etc/nginx/conf.d/default.conf

root@2b4934752b9f:/# vim /etc/nginx/conf.d/default.conf
location / {
        root   /usr/share/nginx/html;
        index  index.html index.htm;
        proxy_pass http://micro;
}

退出容器并重启

docker restart 275cf1511f80

此时请求

 

 

成功

posted on 2022-07-29 15:25  嘣嘣嚓  阅读(297)  评论(0编辑  收藏  举报

导航