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包部署:
這個部分是不可以公開的。各位小夥伴,根據自己的需要,進行處理吧。
如果有什麼疑問,可以私信或@我。
願與諸君共進步。