注意:
该教程需要提前安装Docker
1. 前端部署
1. 下载最新版本镜像:
docker pull nginx
2. 创建挂载目录
mkdir -p /usr/local/nginx/conf
mkdir -p /usr/local/nginx/log
mkdir -p /usr/local/nginx/html
3.创建容器
sudo docker run --name nginx
-v /usr/local/nginx/conf/nginx.conf:/etc/nginx/conf/nginx.conf
-v /usr/local/nginx/log:/var/log/nginx
-v /usr/local/nginx/html:/usr/share/nginx/html
-p 80:80 -d nginx
4.修改配置nginx.conf
server {
listen 80;
server_name 服务器ip地址 ps:天坑;
location / {
root /usr/share/nginx/html;
try_files $uri $uri/ /index.html;
}
}
2.后端部署
1.创建Dockerfile文件
#基础镜像使用jdk1.8
FROM openjdk:8-jdk-alpine
#作者
MAINTAINER zuozhe
# VOLUME 指定临时文件目录为/tmp,在主机/var/lib/docker目录下创建了一个临时文件并链接到容器的/tmp
VOLUME /tmp
# 将jar包添加到容器中并更名
ADD app.jar app.jar
# 运行jar包
RUN sh -c 'touch /app.jar'
# 为了缩短 Tomcat 启动时间,添加一个系统属性指向 “/dev/./urandom” 作为 Entropy Source
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
#暴露8080端口
EXPOSE 8080
2. 构建镜像
docker build -t myapp . # 注意 “.” 不可以去掉代表当前目录
3. 创建容器
docker -itd --name app -p 8080:8080 myapp
4. ps: 注意app.jar 就是后端项目打包的jar包
3. 数据库部署
1. 拉取mysql镜像
docker pull mysql:8.0.30
2. 创建数据库容器
docker run -d -p 23306:3306 --name mysql \
-v /usr/dcoker-mysql/log:/var/log/mysql \
-v /usr/docker-mysql/data:/var/lib/mysql \
-v /usr/docker-mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.30
3. 链接数据库运行自己的sql脚本
4. 查看数据库本地ip
docker inspect --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql