docker环境部署手册

项目环境部署手册

1.Dockerfile 编写相关命令

From XXX(基于什么镜像) 必须声明!!!! 在联网环境,可以使用如,docker search java 查找
在这里插入图片描述

FROM # 基础镜像,一切从这里开始构建
MAINTAINER # 镜像是谁写的:姓名+邮箱 建议跟在FROM后边, 跟label配合使用
形如: LABEL maintainer=“nineya” 一般不写~~~
RUN # 镜像构建的时候需要运行的命令
ADD # 步骤:tomcat镜像、这个tomcat压缩包!添加内容
WORKDIR # 镜像的工作目录
VOLUME # 挂载的目录
EXPOSE # 暴露端口配置
CMD [“echo”,”aa”] # 指定容器启动的时候需要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT # 指定容器启动的时候需要运行的命令,可以追加指令 [“”java”,”-jar”,”xx”]
ONBUILD # 当构建一个被继承 DckerFile 这个时候就会运行 ONBUILD 的指令 触发指令
COPY # 类似ADD 将我们文件拷贝到镜像中
ENV # 构建的时候设置环境变量

2.Dockerfile 编写示例

注:建议在联网的电脑上打镜像
示例一:
在这里插入图片描述

示例二:
FROM registry.cn-beijing.aliyuncs.com/hub-mirrors/openjdk:8-jdk-alpine
WORKDIR dky
ADD dky-experiment.jar app.jar
EXPOSE 28828
CMD [“java”,“-jar”,“app.jar”]

3.通过Dockerfile制作自定义镜像

在Dockerfile的同级目录下,使用以下命令
docker build -t server:1.0.0 .
注:最后的 ”. ” 不要忘记

如图,通过Dockerfile 推送镜像
在这里插入图片描述

4.通过镜像打成tar包

1.查看镜像
docker images
2.通过 docker save -o ${tar文件名称} ${ 镜像REPOSITORY:TAG}
例如:docker save -o dky.tar dky-server:1.0.0
注:默认tar包在当前目录
在这里插入图片描述

5、检查服务器是否有JDK环境(已有可忽略)

检查服务器是否已经装JDK
输入 java -version
在这里插入图片描述

若没有JDK,需安装JDK
上传linux 版JDK,如创建/usr/java 文件夹,将jdk-8u144-linux-x64.tar.gz 导入
输入 tar -xvf jdk-8u144-linux-x64.tar.gz 解压文件
在这里插入图片描述

输入: vi /etc/profile
在最后一行加入
export JAVA_HOME=/usr/java/jdk1.8.0_144
export CLASSPATH= : C L A S S P A T H : :CLASSPATH: :CLASSPATH:JAVA_HOME/lib/
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
保存退出,刷新配置
source /etc/profile
Java -version 查看是否成功
在这里插入图片描述

6、docker环境安装

docker离线包下载地址:https://download.docker.com/linux/static/stable/x86_64/
(1)检查服务器是否已经安装docker环境,在ssh工具中输入: docker -v ,如果输出以下内容表示docker环境已经安装,可以跳过这一步骤
在这里插入图片描述

(2)将附件包中docker-20.10.17.tgz上传至服务器中
(3)使用cd 命令进入安装包所在的目录
(4)使用命令 tar -zxvf docker-20.10.17.tgz 解压安装包
(5)cd docker 进入解压后的文件夹
(6)运行 nohup dockerd & 启动docker服务,出现如下所示内容后使用ctrl + c退出命令
在这里插入图片描述

如果报错: 在 /etc/profile中加入路径
vim /etc/profile
在合适的位置加入,如下参数
export PATH=$PATH:/opt/docker
在执行刷新配置:
source /etc/profile
(7)重复第(1)步,检查环境是否安装成功。安装成功后输入docker images命令应该出现以下输出:
在这里插入图片描述

配置docker.service, 让离线包docker,成为系统应用
vim /etc/systemd/system/docker.service
在docker.service 中添加如下内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd 注:此处的dockerd改为离线包解压后那个文件夹
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
给文件增加可执行权限
chmod +x /etc/systemd/system/docker.service
systemctl daemon-reload
设置docker 服务开机启动
systemctl enable docker.service
启动docker
systemctl start docker
设置容器开机自启
docker update --restart=always 容器id 或 容器名称

7、mysql安装(已有可忽略)

(1)将附件包中mysql.tar上传至服务器
(2)cd到tar包同级目录;
(3)使用 docker load -i mysql.tar 命令将mysql镜像导入docker中,出现如下内容表示导入成功:
在这里插入图片描述

导入成功后使用docker images命令可以查看到导入的mysql镜像
在这里插入图片描述

此时仓库和tag都未none,为了方便可以使用docker tag {替换image id} mysql:5.7来给镜像打上标签,完成后镜像变成这样
在这里插入图片描述

(4)在服务器中创建一个文件夹用于存放数据库数据,例如:/opt/data
(5)使用如下命令启动mysql容器:
docker run --name mysql -d -p 33061:3306 -e MYSQL_ROOT_PASSWORD=1qaz@WSX -v /opt/data:/var/lib/mysql mysql:5.7
在这里插入图片描述

上面命令将容器的3306端口映射到服务器的33061端口上,root的初始密码被设置为1qaz@WSX。
(6)使用docker ps -a 可以查看到当前正在运行的docker镜像
可以看到,mysql容器已经启动了。可以使用数据库连接工具使用服务器ip:33061去连接检查是否正常运行
在这里插入图片描述

8、redis安装

(1)将附件包中redis.tar文件上传的服务器对应位置;
(2)进入文件统同级目录
(3)docker load -i redis.tar导入redis镜像
在这里插入图片描述

(4)docker images 查看镜像是否成功导入
在这里插入图片描述

(5)复制image id,修改镜像tag
在这里插入图片描述

(6)复制附件包中redis.conf文件到服务器,并创建redis数据存放文件夹例如:/opt/redis-data
(7)使用命令启动redis容器
docker run -p 16379:6379 --name redis -v {替换成实际redis.conf地址}:/etc/redis/redis.conf -v {替换成实际存储地址}:/data -d redis:6.0 redis-server /etc/redis/redis.conf
(8)检查redis容器是否启动,docker ps -a 看到如下即可
在这里插入图片描述

9、minio安装

(1)将附件包中minio.tar上传到服务器中,并进入同级目录
(2)使用docker load -i minio.tar 将镜像导入容器中
(3)docker images 查看导入的镜像的image id
(4)重新tag镜像 docker tag {替换上一步中的images ${id} minio:latest
(5)Docker images查看minio镜像
在这里插入图片描述

(6)创建minio文件存储文件夹,例如/home/minio/data
(7)使用命令启动容器
docker run -p 19000:9000 -p 19090:9090 --name minio -d --restart=always -e “MINIO_ACCESS_KEY=minioadmin” -e “MINIO_SECRET_KEY=minioadmin” -v /home/minio/data:/data -d minio server /data --console-address “:9090” -address “:9000”
(8)检查minio启动情况:docker ps -a 出现如下:
或者浏览器访问 服务器ip:19090 查看页面是否可以访问
在这里插入图片描述

10、onlyoffice安装

(1)将附件包中onlyoffice.tar上传至服务器中,并进入同级目录
(2)将镜像导入docker中 docker load -i onlyoffice.tar
在这里插入图片描述

(3)创建数据存储文件夹
/home/onlyoffice/documentServer/logs
/home/onlyoffice/documentServer/data
/home/onlyoffice/documentServer/lib
/home/onlyoffice/documentServer/db
(4)使用命令启动容器
docker run -itd -p 19797:443 -p 19696:80 --restart=always --name onlyoffice -v /home/onlyoffice/documentServer/logs:/var/log/onlyoffice -v /home/onlyoffice/documentServer/data:/var/www/onlyoffice/Data -v /home/onlyoffice/documentServer/lib:/var/lib/onlyoffice -v /home/onlyoffice/documentServer/db:/var/lib/postgresql onlyoffice/documentserver
(5)检查容器启动情况docker ps
在这里插入图片描述

浏览器访问 服务器ip:19696 显示如下页面则表示启动成功

11、前端部署

将前端打好的 tar包,导入服务器中
进入tar所在文件夹
运行命令:docker load -i dky-web.tar
注:dky-web.tar 替换为所部署项目的tar包
在这里插入图片描述

运行启动容器
docker run -d -p 19012:9012 dky-web-tx:1.0.4
注:A. 19012为开通的前端端口,可替换为所部署项目开通的端口
B. dky-web-tx:1.0.4 为前端包镜像,可替换为所部署项目镜像
在这里插入图片描述

检查是否启动成功
在这里插入图片描述

访问前端页面

12、后端部署

部署后端代码前,先检查后端服务,数据库是否创建,可通过Navicat等数据库连接工具 连接mysql (步骤三安装mysql)查看后端代码所需数据库是否创建,若无数据库则需创建
1、连接数据库 将项目中数据库sql 文件导入
2、部署后端代码
将后端tar 包导入服务器中
在项目tar包所在文件下,运行命令:docker load -i dky-server.tar
注:dky-server.tar 替换为所部署项目tar包

启动docker 容器
docker run -d -p 28828:28828 dky-server-tx:1.0.3

注:A. 28828为开通的后端端口,可替换为所部署项目开通的端口
C. dky-web-tx:1.0.4 为后端包镜像,可替换为所部署项目镜像

注意,上述所有涉及到端口都需要开放防火墙

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值