項目介紹:后臺springboot項目,該項目環境mysql、redis 。前臺Vue:使用nginx反向代理?
方法一:docker run 手動逐個啟動容器
1.docker配置nginx代理
將vue項目打包上傳到服務器上。創建文件夾存儲數據卷,html存放打包的vue資源,nginx.conf是nginx配置文件數據卷。
nginx配置代理文件(本地的文件和容器中的配置文件形成映射)
server {listen 80;server_name localhost; charset utf-8;location / {root /usr/share/nginx/html; #這里設置動態路由try_files $uri $uri/ @router; index index.html index.htm;}#這里配置后臺的信息location /prod-api/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header REMOTE-HOST $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://152.136.167.51:8383/;}}
啟動nginx,指定數據卷映射
docker run -p 81:80 -itd -v /usr/software/demo/nginxdemo/html/:/usr/share/nginx/html/ -v /usr/software/demo/nginxdemo/nginx.conf:/etc/nginx/conf.d/default.conf nginx
2. docker配置mysql
在服務器上的mysql占用了3306端口,而且還是自啟動,進程殺不死。(所以我的docker的mysql使用了3307外部端口)
啟動docker容器MySQL(使用密碼)
docker run -itd --name mysqlTest -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 4f36ba851740
?查看容器信息
docker inspect shaone值或者容器名
mysql -h 172.17.0.3 -u root -p
賦予mysql遠程連接的權限?
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
使用sqlyog遠程連接并導入數據庫?
3.dock配置redis?
docker pull redis:latestdocker run -itd --name redis-test -p 6380:6379 redis
4.docker配置自己的springbbot項目
創建dockerfile文件?
創建鏡像?
docker build -f dockerfile -t community:1 .
運行容器
docker run -p 8383:8383 -d 14d5ffb6cf85
方法二:dockercompose編排技術部署項目
1.創建dockercompose.yml文件
注意:yml縮進很重要,一不小心就出錯,運行前先檢查一下
yml格式在線檢查
version: "3.0"
services:mysql:image: mysql:5.6.49container_name: comm_mysqlrestart: alwaysports:- 3307:3306environment:- MYSQL_ROOT_PASSWORD=123456- MYSQL_DATABASE=community- MYSQL_ROOT_HOST=%networks:- boyatopredis:image: redis:latestcontainer_name: comm_redisports:- 6380:6379networks:- boyatopnginx:image: nginx:latestcontainer_name: comm_nginxrestart: alwaysports:- 81:80volumes:- /usr/software/demo/nginxdemo/html/:/usr/share/nginx/html/- /usr/software/demo/nginxdemo/nginx.conf:/etc/nginx/conf.d/default.confnetworks:- boyatopmycommunity:image: community:1container_name: communityports:- 8383:8383volumes:- /community/upload/face/:/community/upload/face/- /community/upload/excel/:/community/upload/excel/environment:- DATABASE_HOST=mysql- DATABASE_USER=root- DATABASE_PASSWORD=123456- DATABASE_NAME=community- DATABASE_PORT=3307- REDIS_HOST=redis- REDIS_PORT=6380depends_on:- mysql- redisnetworks:- boyatop
networks:boyatop: null
2.運行?
docker-compose -f dockercompose.yml up -d