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資料夾,如下圖所示:
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檔案如下所示:
root表示使用者名稱、220316表示登陸密碼、mycat是在shema。xml中配置的名稱。
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 .
5.執行上面建立的映象並啟動容器,命令如下:docker run --name mycat -p 8666:8066 -p 9666:9066 mycat:1.0
6.進入容器中,檢視執行日誌,命令如下:docker exec -i -t e727cef15f23 /bin/bash
如果需要在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
安裝過程看起來很簡單,但是還是走了很多的彎路,就像下面這幾種情況:
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值太小了。