Docker應用部署實錄(包含完善Docker安裝步驟)
前言
首先說一下這篇文章的來源。我之前接手的一個IOT項目,需要安裝多個中控服務器。中控服務器需要安裝RabbitMQ,Mysql,多個服務,這些部署,部署人員不怎么會(畢竟是硬件兼職的),只能讓我給整一個簡單一些方案。我當時就想到了容器化部署,然后整一個容器集群(雖然我離開時還沒有整容器集群)。
使用Docker部署的好處,就是大大降低部署復雜度。如RabbitMQ的原生部署,需要安裝erlang語言,再編譯,安裝,還容易出問題。docker只需要一條指令(甚至為了簡化操作,我將賬號密碼的初始化操作,也放在了這條指令中,並開啟了自啟動等)。
所以,通過Docker,實現了較為傻瓜式的部署,並且方案實現簡單,所以值得參考。尤其是一些中小型項目,有類似需求的小伙伴更值得推薦,尤其是命令中一些參數。
並且該篇博客,給出了完善的Docker安裝步驟。
最后,就當是懷念一下當時剛剛接觸容器的我。嘿嘿。
一,安裝Docker:
1. 要求:CentOS7系統
2. 查看系統內核:
uname -r
3. 利用root權限,確保yum包更新到最新:
sudo yum update
4. [可選]卸載舊版本:
sudo yum remove docker docker-common docker-selinux docker-engine
5. 安裝需要的軟件包:
sudo yum install -y yum-utils device-mapper-persistent-data
6. 設置yum源:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
7. 查看所有倉庫所有docker版本,並選擇安裝:
yum list docker-ce --showduplicates | sort -r
8. 安裝Docker:
sudo yum install docker-ce
9. 啟動並加入開機啟動:
systemctl start docker
sudo systemctl enable docker
10. 驗證是否安裝成功:
docker version
二, 安裝RabbitMQ:
1. 安裝RabbitMQ(指令確保重啟自動啟動,修改默認用戶名與密碼):
docker run -d --hostname my-rabbit -d --name rabbit -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 5672:5672 -p 15672:15672 rabbitmq:3.7-management
2. 驗證安裝成功:
三, 安裝Redis:
1. 安裝(指令確保重啟自動啟動,無需密碼,無需持久化):
docker run --name my-redis -d --restart=unless-stopped -p 6379:6379 -d redis:3.2 redis-server
2. 驗證安裝成功:
四, 安裝Mysql:
1. 安裝(指令確保重啟自動啟動,設置root密碼為123456,新建用戶renewable,密碼為123。提升容器內權限):
docker run --name my-mysql -d --restart=unless-stopped --privileged=true -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=”renewable” -e MYSQL_PASSWORD=”123” -d mysql:5.6
2. 安裝成功驗證:
服務器校驗:
root用戶連接校驗:
自定義用戶連接校驗:
3. 提示:
上面連接不成功的問題也可以添加鏡像參數
--default-authentication-plugin=mysql_native_password
4. 注意:
建議原生安裝,如果采用容器部署,請嚴格遵守安裝過程。否則,異常修復會很麻煩。
五, 安裝JDK:
經過考慮,暫不考慮容器部署JDK。
之后服務容器化后,可以考慮容器部署JDK。
六, 容器部署外的安裝:
1. JDK安裝
2. Mysql數據結構導入
3. (rabbitmq的路由等,由程序自動實現)
4. (redis的數據結構等,由程序自動實現)
5. Nginx部署:
(由於是centos7,故可以yum安裝)
(由於進行了repo處理,所以可以直接安裝nginx)
(否則,需要安裝nginx源)
yum install nginx
啟動及開啟自啟動:
systemctl start nginx
systemctl enable nginx
驗證:
Nginx的默認路徑:
- Nginx配置路徑:/etc/nginx/
- PID目錄:/var/run/nginx.pid
- 錯誤日志:/var/log/nginx/error.log
- 訪問日志:/var/log/nginx/access.log
- 默認站點目錄:/usr/share/nginx/html
七. 應用jar包部署:
這個部分是不可以公開的。各位小伙伴,根據自己的需要,進行處理吧。
如果有什么疑問,可以私信或@我。
願與諸君共進步。