docker官網
3.pxc映象:percona/percona-xtradb-cluster:5.7.22
1.這裡博主特別說明一下,之前實踐pxc的時候直接docker pull 乙個最新版本的percona/percona-xtradb-cluster(用於搭建pxc集群的最重要工具),結果搞了一天也沒有啟動成功容器,所以選擇了拉取乙個一年以上的版本5.7.22,很好成功了。***
2.docker pull percona/percona-xtradb-cluster:5.7.22
檢視我們拉取的映象
要搭建pxc架構至少需要3個mysql例項來組成乙個集群,三個例項之間不是主從模式,而是各自為主,所以三者是對等關係,不分從屬,這就叫multi-master架構。客戶端寫入和讀取資料時,連線哪個例項都是一樣的。讀取到的資料時相同的,寫入任意乙個例項之後,集群自己會將新寫入的資料同步到其他例項上,這種架構不共享任何資料,是一種高冗餘架構。
1.建立用於容器的乙個網路
2.建立卷*(這裡pxc最少基於三個容器,而本章建立5個)**
注: 先建卷再建容器。3.建容器為了看得清楚我把之前間的一些容器關閉只需要乙個命令
docker rm -f $(docker ps -aq)
-f是強制刪除,包括正在執行的docker容器;
那麼來咯(仔細看好每個建立的命令)
docker run -di -p 3306:3306 \
-v v1:/var/lib/mysql \
-e mysql_root_password=123456 \
-e cluster_name=pxc \
-e xtrabackup_password=123456 \
--privileged=true --name=node1 --net=net1 --ip 172.18.0.2 \
pxcdocker run -di -p 3307:3306 \
-v v2:/var/lib/mysql \
-e mysql_root_password=123456 \
-e cluster_name=pxc \
-e xtrabackup_password=123456 \
-e cluster_join=node1 \
--privileged=true --name=node2 --net=net1 --ip 172.18.0.3 \
pxcdocker run -di -p 3308:3306 \
-v v3:/var/lib/mysql \
-e mysql_root_password=123456 \
-e cluster_name=pxc \
-e xtrabackup_password=123456 \
-e cluster_join=node1 \
--privileged=true --name=node3 --net=net1 --ip 172.18.0.4 \
pxcdocker run -di -p 3309:3306 \
-v v4:/var/lib/mysql \
-e mysql_root_password=123456 \
-e cluster_name=pxc \
-e xtrabackup_password=123456 \
-e cluster_join=node1 \
--privileged=true --name=node4 --net=net1 --ip 172.18.0.5 \
pxcdocker run -di -p 3310:3306 \
-v v5:/var/lib/mysql \
-e mysql_root_password=123456 \
-e cluster_name=pxc \
-e xtrabackup_password=123456 \
-e cluster_join=node1 \
--privileged=true --name=node5 --net=net1 --ip 172.18.0.6 \
pxc
注:再建立第乙個節點node1後,需要隔1~2分鐘再建下乙個節點,而且要先進入容器測試一下。
這裡提一嘴我是用vagrant建立的虛擬機器,所以只要修改vagrantfile配置檔案就可以得到乙個預設私網192.168.33.10(只要在乙個區域網就可被客戶端連線)**當然在容器裡直接操作也可以的就是個人覺得介面般的比較清晰
1.之前提到的版本問題,最好選擇比較舊一點的版本
2.其中乙個或者兩台機器down了
兩個命令
sudo rm -rf /var/lib/docker/volumes/v1/_data/grastate.dat
docker start node1
哪個down刪除哪個卷就可以,再重新啟動
注:如果是重啟失敗,也可以這樣操作
3.啟動第乙個節點的時候稍微等一會,並且連線客戶端試下
4.注意ip和對映埠沒有和其他衝突
5.防火牆和selinux確保是關閉狀態
基於docker搭建rabbitmq
前提是安裝了docker的環境,這個我之前的文章中有。安裝rabbitmq的步驟和其他的軟體在docker中安裝步驟類似 1 找到映象中心 2 根據要求 找到指定的版本 tag 我這裡是使用的七牛的映象位址,然後使用的3.7 manager 的乙個版本 3 使用指令拉取image 映象檔案到伺服器 ...
基於docker搭建Samba
1.查詢映象 docker search samba2.拉取映象 docker pull dperson samba3.在本地建立個目錄,以便於容器掛載 mkdir datadchmod 777 data不修改的話連線進去會提示沒有許可權寫入資料 4.啟動映象 docker run it name ...
基於docker的環境搭建
docker 是乙個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。docker這種技術跟平常用的虛擬機器很相似,但相比之下更加輕量。在工程化部署專案的時候非常好...