docker+nginx部署前后端分离项目(速成)

首先

docker 卸载(清除环境)

yum remove docker \
                    docker-client \
                    docker-client-latest \
                    docker-common \
                    docker-latest \
                    docker-latest-logrotate \
                    docker-logrotate \
                    docker-selinux \
                    docker-engine-selinux \
                    docker-engine1 

rm -rf /etc/systemd/system/docker.service.d

rm -rf /var/lib/docker

rm -rf /var/run/docker
#列出docker安装过的相关包
sudo yum list installed | grep docker

#删除相关安装包
sudo yum -y remove docker-ce.x86_64

sudo yum -y remove docker-ce-selinux.noarch

#删除相关的镜像与容器
sudo rm -rf /var/lib/docker

sudo yum remove docker  docker-common docker-selinux docker-engine

——————————————————————————————————————————————>
应该可以了docker  

1、查询docker已安装的包

yum list installed | grep docker

2、删除已安装的包

yum remove docker-ce.x86_64 ddocker-ce-cli.x86_64 -y

3、删除镜像/容器

rm -rf /var/lib/docker

一.安装docker

  1. yum install docker
  2. 检查是否安装成功 docker --version
  3. 启动Docker systemctl start docker
  4. 安装docker-compose
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

可能下不来
(解决方案) 
[docker-compose资源](https://download.csdn.net/download/qq_56352553/87967438?spm=1001.2014.3001.5503)  /usr/local/bin/docker-compose 
放 https://download.csdn.net/download/qq_56352553/87967438?spm=1001.2014.3001.5503

安装完后赋予可执行权限

sudo chmod +x /usr/local/bin/docker-compose

检查是否安装成功

docker-compose --version

二、前端部署

npm run build 打包
docker+nginx部署前后端分离项目(速成)_第1张图片
编写Nginx的配置文件nginx.conf

#user  root;
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8081;
        server_name  111.222.21.111;
        location / {
            root   /usr/share/nginx/html;
			try_files $uri $uri/ /index.html last; # 别忘了这个哈
            index  index.html index.htm;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

三、编写Dockfile文件

#依赖jdk8环境
FROM openjdk:8

#对外暴露8080
EXPOSE 8080
#复制server-1.0-SNAPSHOTdocker容器中并命名为app.jar
ADD server-1.0-SNAPSHOT.jar app.jar
#执行命令
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java", "-jar", "/app.jar", "--spring.profiles.active=pro"]

四、编写docker-compose.yml文件

version: "3"
services:
  nginx: # 服务名称,用户自定义
    image: nginx:latest  # 镜像版本
    ports:
      - 80:80  # 暴露端口
    volumes: # 挂载
      - /root/nginx/html:/usr/share/nginx/html
      - /root/nginx/nginx.conf:/etc/nginx/nginx.conf
    privileged: true # 这个必须要,解决nginx的文件调用的权限问题
  mysql:
    image: mysql:5.7.28
    ports:
      - 3306:3306
    environment: # 指定用户root的密码
      - MYSQL_ROOT_PASSWORD=123456
  redis:
    image: redis:latest
  server:
    image: server:latest
    build: . # 表示以当前目录下的Dockerfile开始构建镜像
    ports:
      - 8085:8085
    depends_on: # 依赖与mysql、redis,其实可以不填,默认已经表示可以
      - mysql
      - redis

输入命令编排启动服务

docker-compose up -d

你可能感兴趣的:(docker,运维,docker,nginx,容器)