使用docker部署jetlinks平台
1.前端部署
-
获取源代码,用git获取相应的版本
git clone https://github.com/jetlinks/jetlinks-ui-antd.git
-
使用npm打包,并将打包后的文件复制到项目的docker目录下(命令在项目根目录下执行)
npm install npm run-script build cp -r dist docker/
复制到docker目录下,是为了build前端代码镜像
-
构建docker镜像
docker build -t [镜像名:tag(版本号)] ./docker
此命令是运行./docker目录下的Dockerfile文件来构建镜像
定义镜像名时可以加上要推送的镜像仓库的路径,比如:registry.cn-hangzhou.aliyuncs.com/.../xxx:[版本号],后面就可以直接push了,否则需要加一步
docker tag [ImageId] ...
-
登录镜像仓库
docker login --username=[镜像仓库的用户名] [镜像仓库域名]
输入密码,返回success即登录成功
-
推送到镜像仓库
docker push [镜像名:tag]
此时,查看你的镜像仓库,就能看到上传的包了。
2.后端部署
- 使用maven命令将项目打包,在代码根目录执行
成功后会在jetlinks-standalone目录下生成jar包mvn clean package -Dmaven.test.skip=true
- 使用docker构建镜像
注意build最后的点,这是目录路径,会运行该目录下的Dockerfile文件来构建镜像cd ./jetlinks-standalone docker build -t [镜像名:tag] .
- 给镜像重命名
docker tag [生成的镜像id] [新镜像名]
- 登录镜像仓库
docker login --username=[镜像仓库的用户名] [镜像仓库域名]
- 推送到镜像仓库
docker push [镜像名:tag]
3.运行docker-compose.yml
-
修改docker-compose.yml的文件配置,例如:
elasticsearch: image: elasticsearch:6.8.6 container_name: jetlinks-pro-elasticsearch environment: ES_JAVA_OPTS: -Djava.net.preferIPv4Stack=true -Xms1g -Xmx1g transport.host: 0.0.0.0 discovery.type: single-node bootstrap.memory_lock: "true" discovery.zen.minimum_master_nodes: 1 discovery.zen.ping.unicast.hosts: elasticsearch volumes: - elasticsearch-volume:/usr/share/elasticsearch/data ports: - "9200:9200" - "9300:9300"
image:设置拉取的镜像,没有具体路径的话则会从docker仓库拉取
container_name:设置生成的容器的名称
environment:设置环境配置
volumes:设置挂载目录,比如把elasticsearch的数据挂载到主机的elasticsearch-volume目录
ports:设置端口
-
运行docker-compose.yml
docker-compose up
或者在后台运行
docker-compose up -d
如此,就可在浏览器访问jetlinks平台了