安裝docker
安裝必要的系統工具
# 更新yum工具
yum update -y
# 安裝必要的工具
yum install -y yum-utils device-mapper-persistent-data lvm2
軟體源資訊切換
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝
yum makecache fast
yum -y install docker-ce
配置映象加速器
tee /etc/docker/daemon.json <<-'EOF'
{
"debug" : true,
"registry-mirrors": ["https://dpayzz9i.mirror.aliyuncs.com"],
"default-address-pools" : [
{
"base" : "172.31.0.0/16",
"size" : 24
}
]
}
EOF
啟動
systemctl daemon-reload
systemctl restart docker
systemctl enable docker
使用docker -v
檢視版本號
安裝docker-compose
安裝
curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
許可權修改
chmod +x /usr/local/bin/docker-compose
使用docker-compose -v
檢視版本
docker-compose.yml檔案編寫
version: '2' # docker 的版本
services: # 配置的容器列表
CONTAINER_NAME: # 容器的名稱
image: BASE_IMAGE # 這個一個容器的基礎映象
ports: # 你的容器需不需要做埠對映
- "host_port:container_port"
volumes: # 資料卷配置
- host_dir:container_dir
environment: # 環境變數(map 的配置方式 key: value)
PARAM: VALUE
environments: # 環境變數(陣列的配置方式 - key=value)
- PARAM=VALUE
restart: always # 容器的重啟策略
dns: # dns 的配置
- 8.8.8.8
配置檔案詳解
配置檔案示例
version: '3.7'
services:
film-service:
container_name: film-service
hostname: film-service
image: adoptopenjdk/openjdk11
volumes:
# jar包的掛載地址
# - 宿主機內jar包的地址(需要修改):容器內jar包的地址(無需修改)
- /usr/software/film/film-0.0.1-SNAPSHOT.jar:/app/app.jar
# 同步宿主機的時間到容器內
- /etc/localtime:/etc/localtime
privileged: true
restart: always
ports:
- "9090:9090"
# 啟動命令
command: java -Xmx512m -jar /app/app.jar
# 環境變數相關配置
environment:
#- spring.profiles.active=test
# 啟動執行
- server.port=9090
- TZ=Asia/Shanghai
networks:
- film_network
nginx:
container_name: nginx-film
hostname: nginx-film
image: nginx
volumes:
# hostm目錄: container目錄
- /usr/software/film/conf/:/etc/nginx/conf.d/
- /usr/software/film-web/dist/:/etc/nginx/web/
- /usr/software/film-admin/dist/:/etc/nginx/admin/
- /etc/localtime:/etc/localtime
environment:
- TZ=Asia/Shanghai
privileged: true
restart: always
ports:
# "host_port: container_port"
- "80:80"
- "443:443"
networks:
- film_network
deploy:
# limit用於限制最大的資源使用數量,reservation為最低的資源佔用量。
resources:
limits:
cpus: '0.50'
memory: 10M
networks:
film_network:
external: true
解決js、css檔案404的情況
Vue專案配置
**直接修改vue專案中的 **vue.config.js檔案,將基本路徑設定為相對路徑
module.export {
// 基本路徑
publicPath:"./", // 可以設定成[相對路徑,這樣所有的資源都會被連結為相對路徑,打出來的包可以被部署在任意路徑
outputDir:“dist”, //打包時生成的生產環境構建檔案的目錄
assetsDir: ‘web’, // 放置生成的靜態資源 (js、css、img、fonts) 的 (相對於 outputDir 的) 目錄
}
這樣打包出來的js、css檔案路徑會是
dist/web/*.js