在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的要求填寫好資料
提交成功之後,會有客服電話聯繫你,覈實資料
在寫本文的時候,備案還在網管審查階段
想一想經過本身的域名訪問到本身的第一個空間仍是很興奮的事情吧