准备工作,先安装docker
sudo apt-get update
sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
sudo apt-get -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl start dockersudo systemctl enable docker
sudo docker -v
(1)拉取官方Nginx镜像
ubuntu@VM-8-5-ubuntu:~$ sudo docker pull nginx:latest
(2)运行Nginx容器:
ubuntu@VM-8-5-ubuntu:~$ sudo docker run --name nginx-test -p 8080:80 -d nginx

(1)拉取MySQL官方镜像:
ubuntu@VM-8-5-ubuntu:~$ sudo docker pull mysql:8.0
(2)运行MySQL容器:
ubuntu@VM-8-5-ubuntu:~$ sudo docker run -d -p 3306:3306 --name websocket-mysql -v /mydata:var/lib/mysql -e MYSQL_ROOT_PASSWORD=root123 mysql:8.0
(3)处理连接不上数据库问题
运行下面命令
--登录容器docker exec -it mysql bash--登录mysqlmysql -u root -p
回到之前的认证插件
use mysql;
刷新生效
ALTER USER 'root'@'%' IDENTIFIED WITH 'mysql_native_password' BY '123456
flush privileges;
(1)安装midway镜像
ubuntu@VM-8-5-ubuntu:~$ sudo docker build -t midway /home/ubuntu/cooltest/midway
(2)运行midway容器:
ubuntu@VM-8-5-ubuntu:~$ sudo docker run -p 8001:8001 --name mymidway midway
(3)通过服务器ip+端口号8001,即可访问到后端项目

(1)先打包前端vue项目dist,将其放在一个文件夹下
(2)编写default.conf文件,这个文件主要写一下代理、路由定向等,刚在刚打包的dist同级目录下
server {listen 80;root /usr/share/nginx/html;index index.html index.htm;if ($request_method = 'OPTIONS') {return 204;}location /api/ {proxy_pass http://119.29.237.177:8001/;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header REMOTE-HOST $remote_addr;#缓存相关配置#proxy_cache cache_one;#proxy_cache_key $host$request_uri$is_args$args;#proxy_cache_valid 200 304 301 302 1h;#持久化连接相关配置proxy_connect_timeout 3000s;proxy_read_timeout 86400s;proxy_send_timeout 3000s;#proxy_http_version 1.1;#proxy_set_header Upgrade $http_upgrade;#proxy_set_header Connection "upgrade";add_header X-Cache $upstream_cache_status;#expires 12h;}location / {try_files $uri $uri/ = 404;}}
(3)编写dockerfile文件,也是放在dist的同级目录下
FROM nginx:latest# 将项目根目录下dist文件夹下的所有文件复制到镜像中 /usr/share/nginx/html/ 目录下COPY dist/ /usr/share/nginx/html/COPY default.conf /etc/nginx/conf.d/default.conf
(4)进入到三个文件所在根目录,安装前端镜像
ubuntu@VM-8-5-ubuntu:~$ sudo docker build -t vue_app .

(5)继续安装前端容器(容器暴露端口9000映射到宿主主机的80端口)
ubuntu@VM-8-5-ubuntu:~$ sudo docker run -d -p 9000:80 --name myvue vue_app

(6)通过服务器ip+端口号9000即可访问前端项目(前台,安全组即防火墙要先开通9000端口,前面的数据库3306端口及后端8001端口同理)

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号