centos7使用docker搭建运行环境并部署jar

*首先有一个干净的centos7环境
1.安装docker需要yum来拉取,所以先获取yum源。

yum install -y yum-utils device-mapper-persistent-data lvm2

为yum源添加docker仓库位置

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

安装docker

yum install docker-ce

启动docker

systemctl start docker

2.基本工作准备好后开始搭建环境
在主目录下创建mydata目录

mkdir mydata

mysql5.7
先拉取MySQL5.7的镜像

docker pull mysql:5.7
启动MySQL
docker run -p 3306:3306 --name mysql_3306 \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root  \
-d mysql:5.7
-p 3306:3306:将容器的3306端口映射到主机的3306端口
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂在到主机
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机
-v /mydata/mysql/data:/var/lib/mysql/:将数据文件夹挂载到主机
-e MYSQL_ROOT_PASSWORD=root:初始化root用户的密码
创建数据库可以使用Navicat连接服务器的ip,端口我们把宿主机的3306和docker镜像的3306已经映射起来了。
所以可以直接连接,操作docker内部的数据库。

redis
先拉取redis镜像,版本根据自己的需求

docker pull redis:3.2
启动redis
docker run -p 6379:6379 --name redis_6379 \
-v /mydata/redis/data:/data \
-d redis:3.2 redis-server --appendonly yes

nginx
先拉取nginx镜像

docker pull nginx:1.10
启动nginx
docker run -p 80:80 --name nginx_80 \
-v /mydata/nginx/html:/usr/share/nginx/html \
-v /mydata/nginx/logs:/var/log/nginx  \
-v /mydata/nginx/conf:/etc/nginx \
-d nginx:1.10

3.环境基本搭建完毕
在根目录下创建一个文件夹用来放置jar包

mkdir java 
cd java
mkdir project_all
mkdir log
将你打好的jar包放在project_all目录下,然后启动jar。这里采用绝对路径,便于以后找到存放地
nohup java -jar /java/project_all/demo1-1.0-SNAPSHOT.jar >/java/log/demo1.log 2>&1 &
启动查看是否启动成功
ps -ef|grep java|grep -v grep
root     22310 21781 99 10:21 pts/1    00:00:26 java -jar /java/project_all/demo1-1.0-SNAPSHOT.jar
查看jar包的端口是否被你的jar占用
netstat -nltp
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1439/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1983/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      20390/sshd: root@pt 
tcp        0      0 127.0.0.1:6011          0.0.0.0:*               LISTEN      21771/sshd: root@pt 
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      1852/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1464/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1439/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      1983/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      20390/sshd: root@pt 
tcp6       0      0 :::90                   :::*                    LISTEN      6763/docker-proxy   
tcp6       0      0 ::1:6011                :::*                    LISTEN      21771/sshd: root@pt 
tcp6       0      0 :::2375                 :::*                    LISTEN      6316/dockerd        
tcp6       0      0 :::5000                 :::*                    LISTEN      6504/docker-proxy   
tcp6       0      0 :::3306                 :::*                    LISTEN      6654/docker-proxy   
tcp6       0      0 :::6379                 :::*                    LISTEN      6959/docker-proxy   
tcp6       0      0 :::111                  :::*                    LISTEN      1/systemd           
tcp6       0      0 :::80                   :::*                    LISTEN      6874/docker-proxy   
tcp6       0      0 :::8085                 :::*                    LISTEN      22310/java          
tcp6       0      0 :::22                   :::*                    LISTEN      1464/sshd
查看防火墙开放的端口
firewall-cmd --zone=public --list-ports
如果未开放,我这里是8085。
firewall-cmd --zone=public --add-port=8085/tcp --permanent #开放8085端口
firewall-cmd --reload   # 配置立即生效
在你浏览器输入你的ip如:http://192.168.2.171:8085/swagger-ui.html 可以出来swagger测试说明
已经成功启动了你的jar

如需发布web前端项目 只用在前端的static文件和index.html放到mydata/nginx/html下启动nginx就可以了。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值