docker-compose安装及前后端项目部署

一、docker-compose安装

docker-compose安装之前需要安装docker,docker安装教程看这篇:

https://blog.csdn.net/qq_36640395/article/details/107449652

1.经过多种安装方式测试,我们选择最稳定的方式,使用python-pip工具安装,首先安装python的依赖,执行命令:

yum -y install epel-release

2.安装 pip:

yum -y install python-pip

3.查看python-pip版本(截止作者测试时间,最新版本为20.1.1):

pip --version

4. 更新pip:

pip install --upgrade pip

 

5.安装docker-compose:

pip install docker-compose 

 6.确认是否安装成功:

docker-compose version

7.设置docker-compose为开机自启:

vim /etc/rc.d/rc.local

加入下面这行,保存:

/usr/local/bin/docker-compose -f /www/docker/trace_fecshop/docker-compose.yml up -d

(第7步可以直接使用xftp打开/etc/rc.d,进行rc.local文件的编辑,然后保存即可。) 

至此docker-compose安装完成。

二、docker-compose部署后端项目

本篇介绍使用最简单的方式部署单机后端应用,微服务集群部署等会在后续文章介绍。

1.后端以java语言使用springBoot框架开发的项目为例,我们将项目打包成jar包形式,找个合适的位置,使用xftp上传到服务器(ctrl+c ctrl+v直接从本地copy到服务器即可)。我司习惯把项目放到mnt文件:

2.我随意建立一个名为demo-wx的文件存放我的jar包,然后新建文件名为docker-compose.yml的文件:

3.docker-compose内容为:

version: '3.7'
services:
  demo-wx:
    image: java:8
    container_name: demo-wx
    environment:
      #- TZ=Asia/Shanghai
      - server.port=80
    ports:
      - "9911:80"
    volumes:
      - "./:/app"
      - "./logs:/logs"
      #- /usr/share/fonts:/usr/share/fonts
    restart: always
    entrypoint: "java -Xmx1024m -Xms200m -Xmn100m -Xss5m -XX:PermSize=256m -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit -XX:+UseParallelGC -XX:ParallelGCThreads=10 -XX:+UseCompressedOops -jar /app/wx-1.0.jar"
    network_mode: "bridge"

这里做一下主要内容的解释:

services和container_name为我们自己起的容器名称即可;

image为基础镜像,这里我们部署java项目,使用java8基础镜像;

server.port为容器内的端口,ports映射规则为:docker宿主机端口号:docker内端口号;

entrypoint部分,“wx-1.0.jar”换成你自己的jar包即可,其它的可以直接复制即可。

注意:docker-compose的缩进一定要注意,一个空格就可能导致无法启动项目。

4.切换到xshell输入命令,切换到我们项目目录下:

cd /mnt/demo-wx

 5.执行命令,启动docker-compose:

docker-compose up -d

docker-compose安装及前后端项目部署_第1张图片镜像及容器创建成功。

6.查看下容器的状态,执行命令:

docker ps -a

 我们的容器已成功启动,访问地址为->你的服务器地址:映射出来的端口地址,比如我的为192.168.0.1:9911。

7.第一次下载java8基础镜像会比较慢,我们把docker默认拉取镜像的地址改为阿里云的镜像地址:

执行命令:

vim /etc/docker/daemon.json

 加入此行保存即可:

{
 "registry-mirrors": ["https://registry.docker-cn.com"]
}

之后我们的镜像下载速度就会快很多了。 

三、docker-compose部署前端项目

我司前端开发使用的是vue,第一步和第二步跟前端部署流程是一样的,差别一是在前端我们上传的文件是打包出来的dist文件夹:

二是在docker-compose文件的内容:

version: '3.3'
services:
   demo-front:
    image: nginx:stable-alpine 
    container_name: deno-front
    environment:
      - TZ=Asia/Shanghai
    ports:
      - "9912:80"
    volumes:
      - "./dist:/usr/share/nginx/html"
      - "./logs:/var/log/nginx/"
    restart: always
    network_mode: "bridge"

可以看到我们的基础镜像是nginx的。

放好文件后我们切换到yml目录下执行docker-compose up -d命令即可。

我们更新文件的时候需要把文件直接覆盖掉,然后执行命令:

docker-compose down

停掉容器再执行up命令启动即完成项目的更新。

到此为止docker-compose的部署教程完毕,如果项目需要重复的迭代更新,这种手动替换的方式效率会很低,我们可以使用jenkins做一键部署,jenkins相关的部署放在后续讲解。

 

 

你可能感兴趣的:(linux运维)