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目录下 完成后重新访问本机
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以按照以下步骤在Linux使用Docker部署Spring Boot项目(使用JDK 11): 1. 首先,确保你已经在Linux上安装了Docker。你可以使用以下命令来验证Docker是否已经安装: ``` docker --version ``` 如果没有安装,请参考Docker官方文档进行安装。 2. 创建一个新的文件夹用于存放你的Spring Boot项目。在该文件夹中,创建一个名为 `Dockerfile` 的文件,并添加以下内容: ```Dockerfile FROM adoptopenjdk:11-jdk-hotspot ARG JAR_FILE=target/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar"] ``` 这个Dockerfile使用了 `adoptopenjdk` 镜像作为基础,然后将你的Spring Boot项目的jar文件复制到Docker容器中,并使用 `java -jar` 命令运行它。 3. 在你的Spring Boot项目的根目录中,打开一个终端窗口,并构建Docker镜像。运行以下命令: ``` docker build -t my-spring-boot-app . ``` 这将使用上述的Dockerfile构建一个名为 `my-spring-boot-app` 的Docker镜像。确保在命令的末尾有一个 `.`,它表示Dockerfile位于当前目录。 4. 构建成功后,你可以运行该Docker镜像并将Spring Boot应用程序部署为一个容器。使用以下命令: ``` docker run -p 8080:8080 my-spring-boot-app ``` 这将运行容器并将容器的8080端口映射到主机的8080端口。你可以根据需要更改端口映射。 现在,你的Spring Boot项目应该已经成功地在Docker容器中运行了,并且可以通过访问 `http://localhost:8080` 在主机上进行访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值