在github上建立项目(此次项目我取名为sora)
https://github.com/newmysql
在本地clone当前项目git clone https://github.com/jassen75/sora.git
git
快速用springboot建立项目(gradle)
https://start.spring.io/github
将生成好的项目解压到sora文件夹里面,并完成第一次编译gradle build
spring
添加一个简单的DockerFilesql
FROM nathonfowlie/centos-jre LABEL maintainer jassen USER root COPY build/libs/*.jar /opt/sora/lib/ COPY docker/entrypoint.sh /opt/sora/bin/ RUN chmod a+x /opt/sora/bin/* EXPOSE 8013 WORKDIR /opt/sora/ CMD /opt/sora/bin/entrypoint.sh
entrypoint.sh代码以下docker
#!/bin/bash java -Dmysql-host=mysql -jar /opt/sora/lib/*.jar
使用docker命令生成版本segmentfault
docker build --force-rm -t sora:latest --file docker/Dockerfile .
centos
添加一个发布脚本 publish.sh安全
#!/bin/bash set -e -x TAG=$1 PUBLISHTAG=${TAG:-1.0} docker tag sora:latest jassen75/sora:$PUBLISHTAG docker login -u jassen75 --password=$PASSWORD docker push jassen75/sora:$PUBLISHTAG
使用脚本将编好的image发布到dockerhub上
bash publis.sh 1.03
到dockerhub上确认1.03版本已经正确上传
我写了一个简单的脚原本作这个事情,在mysql启动之后,顺便执行初始化脚本
#!/bin/bash set -x THIS_DIR=$(dirname $(readlink -f ${BASH_SOURCE[0]})) docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=sora -e MYSQL_DATABASE=sora -e MYSQL_USER=admin -e MYSQL_PASSWORD=admin -d mysql:8.0.17 --default-authentication-plugin=mysql_native_password mysql -h 127.0.0.1 -uroot -psora -e "show databases;" while [[ $? != 0 ]] do echo "mysql connection is not OK now, waiting for mysql service stable" sleep 20 mysql -h 127.0.0.1 -uroot -psora -e "show databases;" done echo "mysql connection is OK" if [[ -f "${THIS_DIR}/src/main/resources/database/create_tables.sql" ]]; then echo "create tables" mysql -h 127.0.0.1 -uroot -psora -e "source ${THIS_DIR}/src/main/resources/database/create_tables.sql" fi
而后就能够运行咱们刚才发布的image了,咱们的容器作了端口映射,这样8013端口用来测试,而发布的版本使用80端口访问
docker run -p 80:8013 --name sora --link mysql:mysql -d jassen75/sora:1.03
这时候咱们能够试试
curl 127.0.0.1 看看服务有没有正常启动
这时候你访问阿里云分配给你的公网ip,使人失望的是网站并没有法正常访问,这时候须要在阿里云上作简单的端口配置
打开你的ECS,在左侧的菜单栏里面,有一个网络与安全
选择子菜单 安全组
在右边找到配置规则
能够看到,默认只有3条规则,默认开放的主要端口只有22,这是供你ssh上去的,因此这里须要加一条规则,容许80端口访问
,
再次访问阿里云分配给你的公网ip,就能看到你的主页了
阿里云控制台左侧菜单栏很容易找到域名,进去申请你想要的域名
我试着申请了一个cn的(听说最混乱),一年16块钱,你要买好的就比较贵了
申请好域名之后,选择解析
增长一条规则
将你申请www.xxx.cn 指向你的ECS服务器ip地址
新申请的域名用作网站的话必须备案,阿里云有一个快捷的帮你备案的链接,你进去填写资料
这里比较坑的一点是,你的ECS服务器若是有效期少于3个月,阿里云就不帮你备案了,本人老老实实交了一年的费用(500rmb左右)
有一个步骤须要提交身份证照片,还要人脸识别,须要下载阿里云的app,按照app的要求填写好资料
提交成功之后,会有客服电话联系你,核实资料
在写本文的时候,备案还在网管审查阶段
想一想经过本身的域名访问到本身的第一个空间仍是很兴奋的事情吧