50 项目连接上域名+docker-compose 一键部署
一、项目连接上域名
1 买一个域名,备案:www.liuqingzheng.top
到阿里云,搜索域名——我要买域名
或者直接百度域名购买,找阿里的 2 在阿里云的域名解析配置一下
二、docker-compose 一键部署
# 容器化:
# 纯手工一个个部署容器
# docker-compose:单机容器编排
一 安装Docker
# 安装依赖 yum install -y yum-utils device-mapper-persistent-data lvm2 # 设置yum源 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 安装docker yum install -y docker-ce # 设置开机启动 systemctl enable docker # 启动 Docker systemctl start docker # 查看版本 docker version
二 安装Docker-compose
# 下载 curl -L https://github.com/docker/compose/releases/download/1.26.2/docker-compose-$(uname -s)-$(uname -m) > /usr/bin/docker-compose sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose # 赋予执行权限 chmod +x /usr/local/bin/docker-compose # 查看版本 docker-compose --version
三、下载代码
git clone https://gitee.com/liuqingzheng/luffy.git
# docker-compose up -d
因为前端没有静态文件,需要构建出来,来到前端的目录下,cnpm install装上所有的依赖
npm run build,生成dist文件夹,因为后端部署的时候是用nginx代理的,而不是用vue跑的
此时,会生成dist文件夹
将代码提交到git,注意在整个项目路径下,因为这一堆被git管理了
git add . git commit -m 'docker部署上线' git push origin master
然后到服务器拉下来
yum install git
git clone 链接地址
cd luffy
ll
docker-compose up
此时访问,服务器地址就可以出现前台,还需要建数据库(navicat链接远端数据库,转储数据),还需要做静态文件的收集(进到django容器里面收集),admin才能看到静态页面
yaml文件
version: "3" services: nginx: image: nginx container_name: luffy_nginx ports: - "80:80" - "8000:8000" restart: always volumes: - ./luffycity/dist:/var/www/html - ./docker_compose_files/nginx:/etc/nginx/conf.d depends_on: - django networks: - web django: build: context: ./luffyapi dockerfile: Dockerfile container_name: luffy_django # command: python manage_pro.py makemigrations && python manage_pro.py migrate && uwsgi ./luffy.ini restart: always ports: - "8080:8080" volumes: - ./luffyapi:/soft environment: - TZ=Asia/Shanghai depends_on: - mysql - redis networks: - web redis: image: redis:latest container_name: luffy_redis ports: - "6379:6379" volumes: - ./docker_compose_files/redis/data:/data - ./docker_compose_files/redis/redis.conf:/etc/redis/redis.conf command: redis-server /etc/redis/redis.conf networks: - web mysql: image: mysql:5.7 container_name: luffy_mysql restart: always ports: - "3306:3306" env_file: - ./docker_compose_files/mysql.env volumes: - ./docker_compose_files/mysql/data:/var/lib/mysql - ./docker_compose_files/mysql/logs:/var/log/mysql - ./docker_compose_files/mysql/conf:/etc/mysql/conf.d networks: - web networks: web: