利用閑置的阿里云服務(wù)器來嘗試安裝mysql, redis, mongodb奥喻。
一垒拢、環(huán)境
- 系統(tǒng): centos7.6
- 數(shù)據(jù)庫: mysql5.7
二矿咕、docker 拉取 mysql5.7
Tip: 這里就不介紹docker的安裝楞泼,我的文章里有介紹如何安裝docker`
sudo docker pull mysql:5.7
查看拉取的鏡像
sudo docker images
三领追、創(chuàng)建文件夾保存數(shù)據(jù)
mkdir -p /data/mysql/conf (保存mysql配置文件)
mkdir -p /data/mysql/data (保存mysql數(shù)據(jù))
mkdir -p /data/mysql/log (保存mysql日志)
四、創(chuàng)建容器
sudo docker run -p 3306:3306 --name mysql -v /data/mysql/conf:/etc/mysql -v /data/mysql/log:/var/log/mysql -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7
參數(shù)說明:
-p 3306(本機端口):3306(容器端口) 將容器3306的端口映射到本機的3306端口
--name mysql 為創(chuàng)建的容易命名
-v /data/mysql/conf:/etc/mysql 將本地文件夾映射到容器的文件夾里
-e MYSQL_ROOT_PASSWORD=12345678 設(shè)置root的密碼
-d 指定創(chuàng)建容器的image
Tips: 不同的鏡像唬血,對應(yīng)容器里面的文件夾路徑也不同,如果路徑不存在會報錯唤崭。如果想查看容易內(nèi)的mysql文件的路徑拷恨,可參考下面做法
- 創(chuàng)建一個守護態(tài)的Docker容器
sudo docker run -itd mysql:5.7 /bin/bash
- 查看容器信息
sudo docker ps -a
- 使用docker attach進入該容器
sudo docker attach 407717ba3d18(對應(yīng)容器的ID)
五、結(jié)語
到此為止谢肾,docker容器已經(jīng)啟動腕侄。那么我們怎么連接mysql呢?
centos7默認(rèn)的防火墻是firewall 所以我們直接操作firewall就可以啦
添加3306端口
firewall-cmd --permanent --add-port=3306/tcp
顯示success即為成功
參數(shù)介紹:
1芦疏、firewall-cmd:是Linux提供的操作firewall的一個工具冕杠;
2、--permanent:表示設(shè)置為持久酸茴;
3分预、--add-port:標(biāo)識添加的端口;
番外篇
firewall常用命令
- 1薪捍、重啟笼痹、關(guān)閉配喳、開啟firewalld.service服務(wù)
service firewalld restart 重啟
service firewalld start 開啟
service firewalld stop 關(guān)閉
- 2、查看firewall服務(wù)狀態(tài)
systemctl status firewall
- 3凳干、查看firewall的狀態(tài)
firewall-cmd --state
- 4晴裹、查看防火墻規(guī)則
firewall-cmd --list-all
到這里就真的是結(jié)束啦,不過有的人發(fā)現(xiàn)設(shè)置了firewall還是不能成功訪問救赐,這又是為什么呢涧团?那么就要查看下阿里云服務(wù)器的安全組是否有設(shè)置3306, 因為安全原因,在創(chuàng)建服務(wù)器的時候经磅,有些服務(wù)器只會設(shè)置22端口泌绣。那么在阿里云服務(wù)器的安全組設(shè)置允許3306端口訪問就可以啦。