Linux服务器 使用docker搭载springBoot环境

时间:2019-10-23
本文章向大家介绍Linux服务器 使用docker搭载springBoot环境,主要包括Linux服务器 使用docker搭载springBoot环境使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

1.安装docker
1.选择国内的云服务商,这里选择阿里云为例

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

2.安装所需要的包

sudo apt-get install linux-image-extra-$(uname -r) linux-image-extra-virtual

3.添加使用 HTTPS 传输的软件包以及 CA 证书

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates

4.添加GPG密钥

sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D

5.添加软件源

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list


6.添加成功后更新软件包缓存

sudo apt-get update

7.安装docker

sudo apt-get install docker-engine


8.启动 docker

sudo systemctl enable docker
sudo systemctl start docker


2.安装mysql镜像(version 8.0)
1.下载镜像

sudo su
docker pull mysql


2.启动容器

docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 -d mysql


3.进入容器

docker exec -it mysql bash


4.设置mysql8.0外网访问

mysql> grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
Query OK, 0 rows affected (0.01 sec)

mysql> ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
Query OK, 0 rows affected (0.11 sec)

mysql> ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
Query OK, 0 rows affected (0.11 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)


3.部署SpringBoot项目
1.要在docker上发布springboot项目,需要使用dockerfile文件编译项目的打包文件。
创建dockerfile文件:

#Docker image for springboot file run
#基础镜像使用java
FROM java:8
#VOLUME 指定临时文件目录为/tmp
VOLUME /tmp 
#将jar包添加到容器中并更名为app.jar 前面为打包的项目包文件名
ADD springboot-demo-0.0.1-SNAPSHOT.jar app.jar 
#运行jar包
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

2.将jar包和dockerfile文件上传到部署有docker的服务器上的同一个目录下。在该目录下执行(-t 参数是指定此镜像的tag名),制作镜像。

docker build -t springboot-demo .

3.启动容器:

docker run -d -p 8081:8866 spring-demo

注:

-d参数是让容器后台运行
-p 是做端口映射,此时将服务器中的8081端口映射到容器中的8866端口

4.安装nginx并挂在配置文件
1.获取官方镜像

docker pull nginx

2.使用nginx镜像来创建nginx容器实例

docker run --name nginx-test -p 80:80 -d nginx


注:
run 创建容器实例

– name 容器命名

-v 映射目录

-d 设置容器后台运行

-p 本机端口映射 将容器的80端口映射到本机的80端口

语句最后一个nginx是使用镜像的名称

3.将nginx关键目录映射到本机
首先在本机创建nginx的一些文件存储目录

mkdir -p /root/nginx/www /root/nginx/logs /root/nginx/conf


注:
www: nginx存储网站网页的目录

logs: nginx日志目录

conf: nginx配置文件目录
4.将nginx-test容器配置文件copy到本地

docker cp 481e121fb29f:/etc/nginx/nginx.conf /root/nginx/conf

5.创建新nginx容器nginx-web,并将www,logs,conf目录映射到本地

docker run -d -p 81:80 --name nginx-web -v /root/nginx/www:/usr/share/nginx/html -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /root/nginx/logs:/var/log/nginx nginx

6.复制html文件到www目录下 完成后重新访问本机

原文地址:https://www.cnblogs.com/guanxiaohe/p/11727258.html