springboot docker部署釋出
作業系統centos7
一、安裝docker
按照官方步驟安裝
1. Set up the repository
Set up the Docker CE repository on CentOS:
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
sudo yum makecache fast
2. Get Docker CE
Install the latest version of Docker CE on CentOS:
sudo yum -y install docker-ce
Start Docker:
sudo systemctl start docker
二、mysql
參考官方步驟安裝
讓Docker 通過使用自己的內部卷管理將資料庫檔案寫入主機系統上的磁碟來管理資料庫資料的儲存
$ docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
-v 後面的 /my/own/datadir 是centos7主機上的目錄要提前建好,my-secret-pw是root登入密碼
我自己執行的命令是
$ docker run -p 3306:3306 --name some-mysql -v /weian/database:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=weian -d mysql:latest
成功後可以看到/weian/database下多了些檔案
刪除mysql容器資料不會丟失
docker exec命令允許您在Docker容器內執行命令
$ docker exec -it some-mysql bash
按Ctrl+D 或者exit 退出
完成後開放centos7 3306埠
firewall-cmd --add-port=
測試連線 success
三、redis
我設定了訪問密碼所以載入自己的配置檔案,檔案放在/weian/redis下
redis.conf 檔案修改了兩處
requirepass mima123456 訪問密碼 mima123456
bind 0.0.0.0 允許外網訪問
docker run -p 6379:6379 -v /weian/redis/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
完成後開放centos7 6379埠
firewall-cmd --add-port=6379/tcp
測試連線 success
四、springboot釋出
maven package 打成jar包
新建一個Dockerfile
FROM java:8
VOLUME /tmp
ADD weian.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /app.jar" ]
將Dockerfile和jar包 weian.jar 放到/weian/app目錄下
$ cd /weian/app
$ docker build -t weian . 不要丟了最後的點 代表當前目錄
建立完weian 映象後 執行
$docker run -p 80:80 weian
我們可以用docker logs 容器id 來檢視日誌
好了再留瀏覽器中開啟ip 或者 繫結的域名 看看能正常訪問嗎?