首页> 系统技术> 微服务之Docker部署springboot应用

[文章]微服务之Docker部署springboot应用

收藏
0 437 0

【正文】

   什么是Docker

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

   Docker安装

本文介绍 Docker CE 的安装使用。

移除旧的版本:

$ sudo yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-selinux \

                  docker-engine-selinux \

                  docker-engine

安装一些必要的系统工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

更新 yum 缓存:

sudo yum makecache fast

安装 Docker-ce

sudo yum -y install docker-ce

启动 Docker 后台服务:

sudo systemctl start docker

测试运行 hello-world

[root@runoob ~]# docker run hello-world

 

   DockerFile构造镜像部署springboot应用

(一)   创建docker目录 

(二)   部署包迁移到到docker目录下

 

   

(三)    编写DockerFile文件

FROM docker.io/centos:latest

 

RUN yum -y install kde-l10n-Chinese && yum -y reinstall glibc-common #安装中文支持

 

RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 #配置显示中文

 

ENV LC_ALL zh_CN.utf8 #设置环境变量

 

# MAINTAINER

MAINTAINER json_hc@163.com

 

# put nginx-1.12.2.tar.gz into /usr/local/src and unpack nginx

ADD nginx-1.8.0.tar.gz /usr/local/src

 

# running required command

RUN yum install -y gcc gcc-c++ glibc make autoconf openssl openssl-devel?

RUN yum install -y libxslt-devel -y gd gd-devel GeoIP GeoIP-devel pcre pcre-devel

RUN useradd -M -s /sbin/nologin nginx

 

# change dir to /usr/local/src/nginx-1.8.0

WORKDIR /usr/local/src/nginx-1.8.0

 

# execute command to compile nginx

RUN ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-file-aio --with-http_ssl_module --with-http_realip_module --with-http_addition_module --with-http_xslt_module --with-http_image_filter_module --with-http_geoip_module --with-http_sub_module --with-http_dav_module --with-http_flv_module --with-http_mp4_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_auth_request_module --with-http_random_index_module --with-http_secure_link_module --with-http_degradation_module --with-http_stub_status_module && make && make install

 

EXPOSE 80

 

 

COPY nginx.conf /usr/local/nginx/conf/

 

COPY index.html /usr/local/nginx/html/

 

WORKDIR /usr/local/nginx/html/static

 

COPY ./static/ /usr/local/nginx/html/static/

 

 

RUN yum -y install java

 

WORKDIR /data/backend

 

COPY measure.jar /data/backend/

 

COPY application.yml /data/backend/

 

COPY entrypoint.sh /data/backend/

 

ENTRYPOINT /data/backend/entrypoint.sh

(四)    编写entrypoint.sh文件

 #!/bin/bash

 

/usr/local/nginx/sbin/nginx &

 

java -jar /data/backend/measure.jar --spring.config.location=file:./application.yml --spring.profiles.active=product >/data/backend/measure.log

(五)    构造镜像 docker build –t measure .

(六)    查看镜像 docker images

(七)    启动镜像

docker run -d --net=host -v /data/conf/application.yml:/data/backend/application.yml -v /data/conf/measure.log:/data/backend/measure.log measure:latest

(八)   查看容器docker ps

系统技术
最近热帖
{{item.Title}} {{item.ViewCount}}
近期热议
{{item.Title}} {{item.PostCount}}