docker初識:執行mysql例項
環境
- CentOS 7.3 64bit
安裝docker
移除舊版本Docker
yum remove docker docker-common docker-selinux docker-engine
設定Docker倉庫
2.1 安裝所需要的包
yum install -y yum-utils device-mapper-persistent-data lvm2
2.2 設定新增穩定版的Docker倉庫
安裝 DOCKER CE
3.1 更新
yum
yum makecache fast
3.2 安裝最新版的docker ce
yum -y install docker-ce
3.3 也可以安裝指定版本的docker ce
- 列舉可用的docker ce
yum list docker-ce.x86_64 –showduplicates | sort -r
- 列舉可用的docker ce
- 安裝指定版本
yum install docker-ce-\ 啟動Docker
systemctl start docker
檢視Docker版本
docker -v
解除安裝Docker(Optional)
6.1 解除安裝docker安裝包
yum remove docker-ce
6.2 刪除所有的 images, containers, volumes(一些自定義的配置檔案需要自己手動刪除)
rm -rf /var/lib/docker
安裝Docker compose
賦予可執行許可權
chmod +x /usr/local/bin/docker-compose
檢視版本號驗證是否安裝成功
docker-compose -v
docker執行mysql例項
下載官方的mysql映象
docker pull mysql:5.7.18
啟動mysql
docker run --name mysql_db -p 3306:3306 -v /home/docker/mysql/logs:/data/logs/mysql -v /home/docker/mysql/data
引數說明:
-p 3306:3306
(“port_you_want” : “exposed_port_from_dockerfile”) 埠對映--name mysql_db
指定docker container名稱為mysql_db-v /home/docker/mysql/data:/var/lib/mysql
對映container中mysql的資料目錄/var/lib/mysql
到本地/home/docker/mysql/data
-v /home/docker/mysql/conf/:/etc/mysql/conf.d
對映配置檔案目錄-v /home/docker/mysql/logs:/data/logs/mysql
對映日誌檔案-e MYSQL_DATABASE=opencart
設定啟動環境引數MYSQL_DATABASE(初始化時建立的資料庫)-e MYSQL_ROOT_PASSWORD=password
設定初始化的mysql root使用者密碼-d mysql:5.7.18
demean模式執行mysql:5.7.18
附上簡短的my.cnf配置
“`
######################### my.cnf #######################################
# 對應日誌檔案需要手動建立,並賦予mysql可讀寫許可權,否則container啟動不成功
# 錯誤日誌
log-error=/var/log/mysql/error.log# 開啟全查詢日誌. 所有的由伺服器接收到的查詢 (甚至對於一個錯誤語法的查詢)
# 都會被記錄下來. 這對於除錯非常有用, 在生產環境中常常關閉此項.
general_log=ON
general_log_file=/var/log/mysql/mysql.log# 慢查詢日誌
slow_query_log=on
long_query_time=2 #2s
slow_query_log_file=/var/log/mysql/slowquery.log# 開啟二進位制日誌功能.
# 在複製(replication)配置中,作為 MASTER 主伺服器必須開啟此項
# 如果你需要從你最後的備份中做基於時間點的恢復,你也同樣需要二進位制日誌.
#log-bin=/usr/local/mysql/logs/mysql-bin
“`檢視啟動日誌(啟動時出錯可以觀察下是什麼原因)
docker logs mysql_db
檢視執行中的容器
docker ps
檢視所有容器
docker ps -a
安裝mysql客戶端
yum -y install mysql
連線mysql
mysql -h 127.0.0.1 -uroot -p
停止容器
docker stop mysql_db
啟動已有容器
docker start mysql_db
在另一個container中使用mysql
docker run –name some-app –link mysql_db:mysql -d application-that-uses-mysql