在docker中安裝mycat

1.建立Dockerfile檔案

FROM ubuntu

ADD jdk-8u161-linux-x64。tar。gz /usr/local/src

ADD mycat /usr/local/src/mycat

ENV JAVA_HOME=/usr/local/src/jdk1。8。0_161

ENV PATH=$JAVA_HOME/bin:$PATH

ENV CLASSPATH=。:$JAVA_HOME/lib/dt。jar:$JAVA_HOME/lib/tools。jar

EXPOSE 8666 9666 3366

RUN chmod -R 777 /usr/local/src/mycat/bin

CMD [“。/usr/local/src/mycat/bin/mycat”, “console”]

2.在Linux中新建一個docker資料夾,如下圖所示:

在docker中安裝mycat

mycat下載地址

http://dl.mycat.io/1.6-RELEASE/

jdk下載地址

http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

3.mycat安裝包中主要看conf檔案下面的server.xml和schema.xml兩個配置檔案

server。xml是配置mycat使用者的,schema。xml是配置資料庫的

server。xml檔案如下所示:

在docker中安裝mycat

root表示使用者名稱、220316表示登陸密碼、mycat是在shema。xml中配置的名稱。

在docker中安裝mycat

mycat為應用的名稱也就是我們在server。xml提到的名稱、database為資料庫名稱、url為資料庫連結地址。

具體引數介紹請參考下面這篇文章:http://mp。weixin。qq。com/s/d4HkkgxBno72nlTWXYOAEQ

(這邊需要注意的是,mycat版本我這邊用的是最新的也就是Mycat-server-1。6-RELEASE-20161028204710-linux。tar。gz,舊版本的時候出了一些問題。)

在安裝mycat之前,我這邊已經安裝了MySQL主從資料庫了。詳細的安裝過程可以參照下面這篇部落格:http://blog。csdn。net/linzhiqiang0316/article/details/79249271

4.建立mycat映象,命令如下:docker build -t mycat:1.0 .

在docker中安裝mycat

5.執行上面建立的映象並啟動容器,命令如下:docker run --name mycat -p 8666:8066 -p 9666:9066 mycat:1.0

在docker中安裝mycat

6.進入容器中,檢視執行日誌,命令如下:docker exec -i -t e727cef15f23 /bin/bash

在docker中安裝mycat

如果需要在docker容器中編輯文字的話,需要安裝vim。(不安裝會出現

bash: vim: command not found錯誤

)。安裝命令如下:

apt-get update

apt-get install vim

7.mycat的相關操作(必須在bin目錄下面才可以執行下面這些命令):

啟動MyCat:

。/mycat start

檢視啟動狀態:

。/mycat status

停止:

。/mycat stop

重啟:

。/mycat restart

8。透過Datagrip資料庫管理工具來連結mycat

在docker中安裝mycat

安裝過程看起來很簡單,但是還是走了很多的彎路,就像下面這幾種情況:

1.一個是mycat安裝版本不對,導致DataGrip一直鏈接不上mycat。

2.另外一個是配置檔案沒搞清楚,導致配置出錯。

3.還有就是一直出現Error querying database. Cause: com.mysql.jdbc.PacketTooBigException: Packet for query is too large (30 > -1)錯誤,原因是max_allowed_packet = 40M值太小了。