Docker在Ubuntu 16.04下部署SpringBoot,Mysql,Redis,Nginx,Vue。
1.创建自定义网络
目的是将所有使用的服务放在同一个网段中,以方便彼此通信。
docker网络创建-子网172.19 . 0 . 0/16 my network
2.Docker安装MySQL、Redis和Nginx。
(1)安装MySQL
docker拉mysql:5.7.30
cd ~
mkdir docker/mysql/{conf,logs,data} -p
cd docker/mysql
docker run-name MySQL _ blade-network = my network-IP = 172.19 . 0 . 6-p 3307:3306-v PWD/logs:/var/log/MySQL-v PWD/data:/data:rw-v $ PWD/conf/redis . conf:/etc/redis/redis . conf:ro-privileged = true-name redis-6389-d redis redis-server/etc/redis
(3)安装Nginx
你需要把Saber发布到Nginx。
码头工人拉nginx
2.码头工人包装跳羚。
3.Docker打包并发布Saber。
(1)编写nginx.conf
cd军刀
触摸nginx.conf,写下以下内容:
//nginx.conf start
用户root
worker _ process 1;
error _ log/var/log/nginx/error . log warn;
PID/var/run/nginx . PID;
事件{
工人_连接1024;
}
。spotify & lt/groupId & gt;
& ltartifactId & gtdocker file-maven-plugin & lt;/artifact id & gt;
& lt版本& gt{ project.basedir } & lt/context directory & gt;
& ltuseMavenSettingsForAuth & gttrue & lt/useMavenSettingsForAuth & gt;
& lt知识库& gt{ docker . registry . name }/{ docker . image . tag } & lt;/tag & gt;
& ltbuildArgs & gt
& ltJAR _ FILE & gttarget/{ Java . version } & lt;/source & gt;
& lttarget & gt$ { java.version } & lt/target & gt;
& lt编码& gtUTF-8 & lt;/encoding & gt;
& lt编译器参数& gt
& ltarg & gt-参数& lt/arg & gt;
& lt/compiler args & gt;
& lt/configuration & gt;
& lt/plugin & gt;
& lt/plugins & gt;
& lt/build & gt;
(2)yml配置
创建容器时,Redis和mysql应该具有与以前相同的配置:
(3)创建私有仓库(使用海港)
在harbor management界面创建一个项目blade,上传下图时添加项目路径。
(4)包装
mvn全新安装docker file:build-dmaven . test . skip = true
(5)上传到私有仓库
两种方式:
mvn dockerfile文件:推送
或者docker推10.10.0.127:10080/刀片/弹簧片:0.0 . 1。
然后就可以在港湾管理后台看到镜子了。
要拉下:
码头工人拉10.10.0 . 127:10080/刀片/跳刃:0.0.1
(6)释放
cd ~
mkdir docker/blade/app -p
cd docker/blade
docker run-itd-name blade-network = my network-IP = 172.19.0 . 7-p 9001:9001-v $ PWD/app:/mnt/10.10.0 . 127:1080/blade/spring blade:0.65448
此时,您可以通过localhost:1889访问Saber。
此外,我通过uri来区分多租户。例如,localhost:1889是一个管理租户,localhost:1889/test是一个名为test的租户。这样就避免了在登录界面填写租户id。