doker配置MySQL、redis、Nginx部署vue项目、部署springboot项目

docker安装

# 1. 卸载之前的docker
 sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
# 2.需要的安装包
yum install -y yum-utils

# 3.设置镜像的仓库( 默认是从国外的,不推荐, 推荐使用国内的)
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 更新yum软件包索引
yum makecache 

# 4.安装docker相关的 docker-ce 社区版 而ee是企业版
yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
docker systemctl start docker
# 6. 使用docker version查看是否按照成功
docker version
# 7.创建目录
sudo mkdir -p /etc/docker
# 8.配置阿里云镜像加速器
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://2lxyghvy.mirror.aliyuncs.com"]
}
EOF
# 9.重载docker
sudo systemctl daemon-reload
# 10.重启docker
sudo systemctl restart docker

docker配置mysql

点击查看docker官网MySQL详细配置

# 1. 拉取镜像,指定版本时注意加上冒号
docker pull mysql:5.7

# 2.运行容器
sudo docker run -p 3306:3306 --name mysql \
-v /data/mysql/log:/var/log/mysql \
-v /data/mysql/data:/var/lib/mysql \
-v /data/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
# -p 3306:3306 将docker容器的3306端口映射到宿主机的3306端口
# -v 宿主机文件目录:容器内目录  将容器内文件挂载到宿主机上
# -e MYSQL_ROOT_PASSWORD=root 设置密码为root
# -d 后台启动
# --name 给启动容器起名字

docker配置redis

点击查看docker官网redis详细配置

# 1、下载镜像
docker pull redis

# 2、创建配置文件
mkdir -p /data/redis/conf
touch /data/redis/conf/redis.conf

# 3、启动容器
# 云服务器一定要修改端口或配置密码,否则会被拉去挖矿
docker run -p 6124:6379 --name redis \
-v /data/redis/data:/data  \
-v /data/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

# 4、直接进入redis客户端
docker exec -it redis redis-cli

docker 使用Nginx部署vue项目

# 1.拉取镜像
docker pull nginx

# 2.创建Nginx容器
docker run -d --name nginx -p 80:80 nginx
# -d 后台运行 --name 运行的镜像名 -p 指定端口映射 nginx 指定镜像

# 3.创建挂载目录
mkdir -p /data/nginx/{conf,log,html}

# 4.Nginx容器中的需要操作的文件进行拷贝
docker cp nginx:/etc/nginx/nginx.conf /data/nginx/conf/nginx.conf
docker cp nginx:/etc/nginx/conf.d /data/nginx/conf/conf.d
docker cp nginx:/usr/share/nginx/html /data/nginx/
#分别拷贝nginx.conf、conf.d、html目录复制到主机

# 5.强制删除刚创建的Nginx容器
docker rm -f nginx 

# 6.重新创建容器
docker run -d --name nginx -p 80:80 \
-v /data/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /data/nginx/conf/conf.d:/etc/nginx/conf.d \
-v /data/nginx/log:/var/log/nginx \
-v /data/nginx/html:/usr/share/nginx/html \
--privileged=true nginx

# 7.在浏览器地址栏输入ip:80 查看是否成功

Nginx请求代理、解决刷新报404问题
修改docker与宿主机配置映射文件 /data/nginx/conf/nginx.conf
vue build 打完包把dist文件里的文件全部上传服务器的 /data/nginx/html 文件夹中

server {
    listen       9876;
    listen  [::]:9876;
    server_name  localhost;

    location / {
        root   /usr/share/nginx/html;
        # 1.解决404问题 try_files $uri $uri/ @router
        try_files $uri $uri/ @router;
        index  index.html index.htm;
    }
    # 2.解决404问题 
    location @router {
       rewrite ^.*$ /index.html last;
    }
    
    # 1.请求代理
    location ^~ /api/ {
       rewrite ^/api/(.*)$ /$1 break;
       #2.代理地ip
       proxy_pass http://xxx.xxx.xxx.xxx:9090;
    }
    
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

docker部署springboot项目

# 1. 把打好的jar包放到一个新文件夹中
# 2. 在该目录下创建Dockerfile 文件
# 3. 使用文本编辑器打开Dockerfile写入如下内容
FROM java:8
MAINTAINER gnx
ADD app.jar test.jar
EXPOSE 9090
ENTRYPOINT ["java","-jar","test.jar"]
# from java:8  拉取镜像jdk为1.8
# maintainer   作者是gnx
# app.jar      当前目录jar包
# demo.jar     当前目录jar包重新命名,在容器中运行
# expose       该容器暴露的端口是,jar在容器中运行的端口
# entrypoint   容器启动之后执行的命令,相当于在linux中运行java -jar test.jar 


# 4. cd到Dockerfile同级目录下构建自定义镜像
docker build -t springbootAndVue .
#注意最后的【.】不可以去掉 其表示 与Dockerfile同级目录下
#springbootAndVue  自定义镜像名称

# 5. 运行自定义镜像
docker run -d \
--restart=always \
--name springbootAndVue  \
-p 8080:8080  springbootAndVue    
#--restart=always服务器开机docker运行此镜像自动开启

# 6. 查看镜像是否运行
docker ps

 # 7.  查看启动日志 
 docker logs --tail  300 -f  springbootAndVue     
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值