跳板机拷贝内网安装mysql、redis、nginx、jdk、jar包部署
前言:
需要准备的是内网环境的linux需要安装好docker
内网安装docker 链接
我们所有的安装包都是基于外网的linux安装好docker后,联网安装mysql、redis等,然后进行打包上传
打包命令
docker save -o redis.tar redis:latest
docker save -o 打包名称 redis:版本
拷贝打包的文件
scp -P 端口 本地文件地址 用户名@ip:拷贝地址
示例:
scp -P 3003 /home/docker/mysql.tar root@11.99.10.13:/home/app/docker
登录跳板机
ssh root@11.99.10.13 -p 3003
-p 为端口号,我这默认不加的话端口号为22
登陆后有密码输入密码
解压命令
首先切换目录
cd /home/app/docker/
可以使用ls查看文件是否拷贝过来
解压
这里根据自己打包的名字进行解压
docker load -i redis.tar
解压完成后,查看images
docker images
下面开始启动容器
mysql
docker run --restart=unless-stopped -d --name mysql -p 9000:3306 -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /home/mysql/logs:/var/log/mysql -v /home/mysql/data:/var/lib/mysql -v /etc/localtime:/etc/localtime:ro -e MYSQL_ROOT_PASSWORD=jinyuMysql mysql:v1
- 文件挂载地址,/home/mysql
- 如果需要修改密码自行修改
redis
docker run --restart=always --log-opt max-size=1024m --log-opt max-file=2 -p 9001:6379 --name redis -v /home/redis/conf/redis.conf:/etc/redis/redis.conf -v /home/redis/data:/data -v /etc/localtime:/etc/localtime:ro -d redis:v1 redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
- 文件挂载地址,/home/redis
- 如果需要修改密码自行修改
nginx
docker run --name nginx -d -p 9005:9005 -v /home/nginx/html:/etc/nginx/html -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /home/nginx/logs:/var/log/nginx -v /etc/localtime:/etc/localtime:ro nginx:v1
- 文件挂载地址,/home/nginx
- nginx的config需要提前准备好,自行准备,我这里只是随手放了个模板
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 localhost;
location / {
root nanbuxinchengweb-open;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
location /preview {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 本地运行的kkFileView的地址
proxy_pass http://127.0.0.1:8012;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root nanbuxinchengweb;
}
}
}
jdk 目前我的jdk只是解压到docker images ,并没有启动,关于这一块我就不多介绍,自行研究下。
jar包部署
在jar包的同一目录下新建一个Dockerfile
vi Dockerfile
文件内新增以下内容
#自己的jdk名称:版本
FROM openjdk:8-jre
#将jar包添加到docker中并命名app.jar
ADD ruoyi.jar app.jar
#指定端口
EXPOSE 9002
#启动jar命令
ENTRYPOINT ["java","-jar","app.jar","--server.port=9002"]
添加完成后保存退出
在当前文件夹下执行命令,将jar包加入docker
docker build -t ruoyi:1.0.0 .
查看images中是否存在
docker images
启动jar包
第一种方式,如果不涉及别的服务 直接 -p指定映射端口就可
docker run -d -it --name=ruoyi -p 8081:8081 -v /home/app:/usr/data ruoyi:1.0.0
第二种方式,如果涉及别的服务 就不能使用 -p指定映射端口,就要使用–net host
docker run -d -it --net host --name=ruoyi -v /home/app:/usr/data ruoyi:1.0.0