docker|Docker安装使用及安装mysql,redis,nginx

1.安装docker
跳转此链接:docker安装
2.安装docker-compose
# 下载docker compose使用giehub安装较慢推荐使用daocloud安装
[root@localhost ~]# curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 添加可执行权限
[root@localhost ~]# chmod +x /usr/local/bin/docker-compose
# 将文件copy到 /usr/bin/目录下
[root@localhost ~]# ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看版本
[root@localhost ~]# docker-compose --version
3.编写Dockerfile文件
FROM java:8//从java8的镜像开始构建一个容器镜像。
ADD est.jar est.jar
RUN bash -c "touch /est.jar"
EXPOSE 8080
ENTRYPOINT ["java", "-jar", "est.jar", "--spring.profiles.active=prod", "--server.port=8080", "> /log/est.log"]
//指定为java,格式为-jar,文件名称为est.jar,指定配置文件为prod,指定端口为8080,指定日志目录位置
4.编写docker-compose
version: '3'

services:
nginx: #服务名称
image: nginx:latest
ports:
- 80:80
volumes:
- /usr/local/docker/nginx/html:/usr/share/nginx/html#挂载:前面是挂载到哪儿,后面是nginx得配置目录
- /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
- /usr/local/docker/nginx/log:/var/log/nginx
privileged: true#解决nginx得文件调用权限的问题
mysql:
image: mysql:5.7
ports:
- 3306:3306#前面是宿主机的端口,后边是容器自身的端口
environment:
- MYSQL_ROOT_PASSWORD= #输入自己的密码
redis:
image: redis:5.0.11
vueblog:
image: est:latest
build: .
ports:
- 8080:8080
depends_on:
- mysql
- redis
5.项目打包
5.1 前端打包
npm run build
打包好的文件放入 - > /usr/local/docker/nginx/html
5.2 后端打包
放入/usr/local/est中,注意Dockerfile文件和docker-compose文件与jar文件放在一起
5.2.1 新增配置文件application-prod.yml
复制application-dev.yml,新文件名改为application-prod.yml
修改mysql、redis地址
mysql: IP地址改为容器名
url: jdbc:mysql://mysql:3306/est?serverTimezone=GMT%2B8&useUnicode=true&characterEncoding=utf8&useSSL=false
redis:IP地址改为容器名
host: redis
6.编写nginx配置
nginx.conf配置文件
7.启动
注意:启动是在jar的当前目录下
【docker|Docker安装使用及安装mysql,redis,nginx】docker-compose up -d

    推荐阅读