本文是以github 75kstar+開源項目mall商城的部署教程為基礎進行部分細節補充,原文可點擊此處
系統環境
centOS 7.5 64位
ps:服務器建議選擇大內存的,不然裝完ElasticSearch1.2G內存就沒了。
軟件清單
- Mysql
- Redis
- Nginx
- RabbitMQ
- ElasticSearch
Docker 環境安裝
//安裝yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
//為yum源添加docker倉庫位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
//安裝docker:
yum install docker-ce
//啟動docker:
systemctl start docker
Mysql安裝
下載mysql5.7的docker鏡像:
docker pull mysql:5.7
安裝上傳下載插件,并將mall項目中的docment/sql/mall.sql上傳到Linux服務器上:
yum -y install lrzsz
進入/mydata目錄cd /mydata
輸入rz
,會自動彈出文件瀏覽框,選擇mall.sql并上傳
將mall.sql文件拷貝到mysql容器的/目錄下:
docker cp /mydata/mall.sql mysql:/
使用docker命令啟動:
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql:5.7
參數說明
-p 3306:3306:將容器的3306端口映射到主機的3306端口
-v /mydata/mysql/conf:/etc/mysql:將配置文件夾掛在到主機
-v /mydata/mysql/log:/var/log/mysql:將日志文件夾掛載到主機
-v /mydata/mysql/data:/var/lib/mysql/:將數據文件夾掛載到主機
-e MYSQL_ROOT_PASSWORD=root:初始化root用戶的密碼
創建及導入mall數據庫
//進入運行mysql的docker容器:
docker exec -it mysql /bin/bash
//使用mysql命令打開客戶端:
mysql -uroot -proot --default-character-set=utf8
//創建mall數據庫:
create database mall character set utf8
//將sql文件導入到數據庫:
//下面2條命令需要進入到mysql狀態
use mall;
source /mall.sql;
//創建一個reader帳號并修改權限,使得任何ip都能訪問:
grant all privileges on *.* to 'reader' @'%' identified by '123456';
Redis安裝
//下載redis3.2的docker鏡像:
docker pull redis:3.2
//使用docker命令啟動:
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-d redis:3.2 redis-server --appendonly yes
Copy to clipboardErrorCopied
進入redis容器使用redis-cli命令進行連接:
docker exec -it redis redis-cli
RabbitMQ
下載rabbitmq3.7.15的docker鏡像:
docker pull rabbitmq:3.7.15
補充
mydata路徑在/根目錄下,因為我使用是finalshell自帶可視化目錄,但是mydata文件夾卻沒有顯示,只能通過ls
命令來才會看到。這里被坑了一把。
拓展
linux系統環境下,如果需要搜索文件,可以通過find / -name 文件名
進行搜索;可以順便學習一下50條linux常用命令
windows系統下可以安裝Everything,超好用。
參考文章
同作者寫的開發者必備Docker命令