準(zhǔn)備工作,先安裝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 docker
sudo systemctl enable docker
sudo docker -v
(1)拉取官方Nginx鏡像
ubuntu@VM-8-5-ubuntu:~$ sudo docker pull nginx:latest
(2)運(yùn)行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)運(yùn)行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)處理連接不上數(shù)據(jù)庫(kù)問(wèn)題
運(yùn)行下面命令
--登錄容器
docker exec -it mysql bash
--登錄mysql
mysql -u root -p
回到之前的認(rèn)證插件
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)運(yùn)行midway容器:
ubuntu@VM-8-5-ubuntu:~$ sudo docker run -p 8001:8001 --name mymidway midway
(3)通過(guò)服務(wù)器ip+端口號(hào)8001,即可訪(fǎng)問(wèn)到后端項(xiàng)目
(1)先打包前端vue項(xiàng)目dist,將其放在一個(gè)文件夾下
(2)編寫(xiě)default.conf文件,這個(gè)文件主要寫(xiě)一下代理、路由定向等,剛在剛打包的dist同級(jí)目錄下
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;
#緩存相關(guān)配置
#proxy_cache cache_one;
#proxy_cache_key $host$request_uri$is_args$args;
#proxy_cache_valid 200 304 301 302 1h;
#持久化連接相關(guān)配置
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)編寫(xiě)dockerfile文件,也是放在dist的同級(jí)目錄下
FROM nginx:latest
# 將項(xiàng)目根目錄下dist文件夾下的所有文件復(fù)制到鏡像中 /usr/share/nginx/html/ 目錄下
COPY dist/ /usr/share/nginx/html/
COPY default.conf /etc/nginx/conf.d/default.conf
(4)進(jìn)入到三個(gè)文件所在根目錄,安裝前端鏡像
ubuntu@VM-8-5-ubuntu:~$ sudo docker build -t vue_app .
(5)繼續(xù)安裝前端容器(容器暴露端口9000映射到宿主主機(jī)的80端口)
ubuntu@VM-8-5-ubuntu:~$ sudo docker run -d -p 9000:80 --name myvue vue_app
(6)通過(guò)服務(wù)器ip+端口號(hào)9000即可訪(fǎng)問(wèn)前端項(xiàng)目(前臺(tái),安全組即防火墻要先開(kāi)通9000端口,前面的數(shù)據(jù)庫(kù)3306端口及后端8001端口同理)
微信掃碼
關(guān)注PHP中文網(wǎng)服務(wù)號(hào)
QQ掃碼
加入技術(shù)交流群
Copyright 2014-2025 http://ipnx.cn/ All Rights Reserved | php.cn | 湘ICP備2023035733號(hào)