docker-compose部署Vue项目

目录结构

webdata
└── front-lib-web
    ├── conf.d
    │   └── default.conf
    ├── docker-compose.yml
    └── html
        └── frontDemo

* conf.d/default.conf

server {
    listen       6888;
    server_name  localhost;

    access_log  /var/log/nginx/host.access.log  main;
    error_log  /var/log/nginx/error.log  error;


    location / {
        root   /usr/share/nginx/html/frontDemo;
        index /frontDemo/index.html index.htm;
        try_files $uri $uri/ /frontDemo/index.html;
    }

    location /frontDemo {
        root /usr/share/nginx/html;
        index /frontDemo/index.html index.htm;
        try_files $uri $uri/ /frontDemo/index.html;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

在使用docker-compose之前先执行该命令开启docker服务:sudo systemctl start docker

* docker-compose.yml

version: "3"
services:  #指定服务名称
    web-service:
        container_name: front-lib-web #指定容器名称
        ports:
          - "6888:6888" # 左侧为docker暴露端口 右侧为nginx端口(服务器端口)
        image: nginx:latest #nginx镜像
        volumes: # volumes挂载方式
            - ./html:/usr/share/nginx/html # 挂载dist静态资源到容器中 ./当前目录
            - ./conf.d:/etc/nginx/conf.d # 挂载nginx配置文件的目录到容器,替换nginx容器中的默认配置目录
        restart: always # 重启策略:容器退出时重启容器

docker-compose相关命令

# 默认使用docker-compose.yml构建镜像
$ docker-compose build
$ docker-compose build --no-cache # 不带缓存的构建

# 指定不同yml文件模板用于构建镜像
$ docker-compose build -f docker-compose1.yml

# 列出Compose文件构建的镜像
$ docker-compose images                          

# 启动所有编排容器服务
$ docker-compose up -d

# 查看正在运行中的容器
$ docker-compose ps 

# 查看所有编排容器,包括已停止的容器
$ docker-compose ps -a

# 进入指定容器执行命令
$ docker-compose exec nginx bash 
$ docker-compose exec web python manage.py migrate --noinput

# 查看web容器的实时日志
$ docker-compose logs -f web

# 停止所有up命令启动的容器
$ docker-compose down 

# 停止所有up命令启动的容器,并移除数据卷
$ docker-compose down -v

# 重新启动停止服务的容器
$ docker-compose restart web

# 暂停web容器
$ docker-compose pause web

# 恢复web容器
$ docker-compose unpause web

# 删除web容器,删除前必需停止stop web容器服务
$ docker-compose rm web  

# 查看各个服务容器内运行的进程 
$ docker-compose top  
posted @ 2024-05-30 15:08  Felix_Openmind  阅读(277)  评论(0编辑  收藏  举报