目录
三、使用docker compose编排nginx+springboot项目
Linux环境:
Nginx、Java8、Docker Compose、自定义镜像Dockerfile(前面两个镜像已经下载好了,这里就不写啦~)
一、安装Docker Compose
1、Compose目前已经完全支持Linux、Mac OS和Windows,在我们安装Compose之前,需要先安装Docker。下面我们以编译好的二进制包方式安装在Linux系统中。
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
2、设置文件可执行权限
chmod +x /usr/local/bin/docker-compose
3、创建软连接
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
4、查看版本信息
docker-compose -version
二、利用Dockerfile发布springboot项目
1.创建docker-file目录
mkdir docker-file
2.将springboot项目打包成jar包放到该目录下
3.进入docker-file目录
cd docker-file
4.创建并且编写springboot-dockerfile文件
vim springboot-dockerfile
FROM java:8
MAINTAINER edu <edu@jiaoyu.cn>
ADD springboot_test-0.0.1-SNAPSHOT.jar app.jar
CMD java -jar app.jar
其中的FROM java:8是定义父镜像为java 8版本
MAINTAINER edu <edu@jiaoyu.cn>是定义作者信息
ADD springboot_test-0.0.1-SNAPSHOT.jar app.jar是将jar包添加到容器
CMD java -jar app.jar是定义容器启动执行的命令(启动jar包的命令是:java –jar xxx.jar)
5. 通过dockerfile构建镜像(其中./springboot-dockerfile是上面文件的文件路径和文件名,app是生成镜像的名称)
docker build -f ./springboot-dockerfile -t app .
6.查看新镜像(app)是否创建成功
7.为新镜像(app)配置端口号(将容器的8080端口映射到主机的9000端口)并且启动
docker run -id -p 9000:8080 app
8.查看app镜像是否启动成功
docker ps
三、使用docker compose编排nginx+springboot项目
1. 创建docker-compose目录,并且进入docker-compose目录里
mkdir ~/docker-compose
cd ~/docker-compose
2. 创建并且编写 docker-compose.yml 文件
vim docker-compose.yml
version: '3'
services:
nginx:
image: nginx
ports:
- 80:80
links:
- app
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
app:
image: app
expose:
- "8080"
3. 创建./nginx/conf.d目录
mkdir -p ./nginx/conf.d
4.进入到nginx/conf.d/目录
cd nginx/conf.d/
5.在./nginx/conf.d目录下创建并且编写edu.conf文件 (nginx反向代理)
vim docker-compose.yml
server {
listen 80;
access_log off;
location / {
proxy_pass http://app:8080;
}
}
6.在~/docker-compose 目录下 使用docker-compose 启动容器
docker-compose
7.测试访问 http://192.168.22.134/hello(自己的linux的ip地址+nginx配置的端口号)
今天的知识就分享到这了,希望能够帮助到你~