首先來安裝dockers
1、檢測本地虛擬機的版本:大於3.10的即可
2.移除舊版本
[root@localhost /]# sudo yum remove docker
3.安裝必要的系統工具
[root@localhost /]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4.添加軟件源信息
[root@localhost /]# sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5.更新yum緩存
[root@localhost /]# sudo yum makecache fast
6.安裝docker-ce
[root@localhost /]# sudo yum -y install docker-ce
7.設置開機啓動docker後臺服務
[root@localhost /]# sudo systemctl enable docker
8.啓動docker後臺服務
[root@localhost /]# sudo systemctl start docker
以上就是安裝dockers的所有過程
下面拉取鏡像MySQL
首先拉取docker鏡像,我們這裏使用5.7版本的mysql:
通常使用通過國外來下載(比較慢)
docker pull mysql:5.7
小弟這裏連接的是國內的,快的嚇人
[root@localhost ~]# docker pull daocloud.io/library/centos:latest
[root@localhost ~]# docker pull daocloud.io/library/mysql:5.7
5.7: Pulling from library/mysql
85b1f47fba49: Pull complete
5671503d4f93: Pull complete
3b43b3b913cb: Pull complete
4fbb803665d0: Pull complete
05808866e6f9: Pull complete
1d8c65d48cfa: Pull complete
e189e187b2b5: Pull complete
02d3e6011ee8: Pull complete
d43b32d5ce04: Pull complete
2a809168ab45: Pull complete
Digest: sha256:a0423a7d021b7a7775f1d2db1014bd15fde029f538c1f8d97c9832aa4a25209f
Status: Downloaded newer image for daocloud.io/library/mysql:5.7
#安裝完成後查看一下鏡像
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
daocloud.io/library/centos latest 470671670cac 6 weeks ago 237MB
daocloud.io/library/mysql 5.7 a1aa4f76fab9 8 months ago 373MB
然後使用此鏡像啓動容器,這裏需要分別啓動主從兩個容器
(需要注意的是:mysql鏡像名的前綴不能忘記,否則報錯! 完整的名字: daocloud.io/library/mysql:5.7)
docker run -p 3339:3306 --name jxc-mysql-master -e MYSQL_ROOT_PASSWORD=root -d daocloud.io/library/mysql:5.7
docker run -p 3340:3306 --name jxc-mysql-slave -e MYSQL_ROOT_PASSWORD=root -d daocloud.io/library/mysql:5.7
如果啓動報錯別慌!
查看容器,然後啓動他
Master對外映射的端口是3339,Slave對外映射的端口是3340。因爲docker容器是相互獨立的,每個容器有其獨立的ip,所以不同容器使用相同的端口並不會衝突。這裏我們應該儘量使用mysql默認的3306端口,否則可能會出現無法通過ip連接docker容器內mysql的問題。
此時可以使用Navicat等工具測試連接mysql 注意關閉linux 的防火牆
下面來一套簡單命令:
docker pull mysql:7.7 拉取鏡像命令
docker ps 查看當前運行的容器
docker ps -a 查看當前運行以及之前的容器
docker run 創建容器
docker exec -it 進入到容器內部
docker start 容器id 啓動容器
docker images 查看所有docker 的鏡像
docker rmi [image] 刪除鏡像
docker rm -f a658 刪除容器
Dockers簡單理解
基於Docker的Mysql主從複製搭建
mysql 主從複製(主庫和從庫)(讀寫分離)的意義
解決高併發、減輕單臺數據庫的壓力、提高併發量
主庫稱爲寫庫(新增、刪除、修改操作執行寫庫),從庫稱讀庫
爲什麼基於Docker搭建?
資源有限
虛擬機搭建對機器配置有要求,並且安裝mysql步驟繁瑣
一臺機器上可以運行多個Docker容器
Docker容器之間相互獨立,有獨立ip,互不衝突
Docker使用步驟簡便,啓動容器在秒級別