最近發現docker容器技術非常火,恰好剛想重灌伺服器上的mysql,就想把mysql搭建在docker執行使用,趕緊學習下
1、簡化程式:
docker 讓開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上,便可以實現虛擬化。docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入docker中進行管理。方便快捷已經是 docker的最大優勢,過去需要用數天乃至數週的 任務,在docker容器的處理下,只需要數秒就能完成。
3、節省開支:
一方面,雲計算時代到來,使開發者不必為了追求效果而配置高額的硬體,docker 改變了高效能必然**格的思維定勢。docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬體管理的問題,也改變了虛擬化的方式。
### 檢索映象
docker search 映象名
docker search redis ### 檢索redis
docker pull 映象名
### 檢視本地映象列表
docker images
docker rmi image-id (刪除指定id的映象)
### 執行映象為容器方法之一
docker run --name container-name -d image-name
注: --name 是為容器取名稱 -d(detached)控制台不再阻礙 最後的指定執行哪個映象
docker run --name test-redis -d redis ### 執行redis
### 獲取容器列表doc
docker ps
### 檢視執行和停止狀態的容器
docker ps -a
### 停止容器 可以通過容器名稱或者容器id
docker stop container-name/container-id
### 啟動容器: docker start container-name/container-id 可以通過容器名稱或者容器id
docker start test-redis
### 刪除單個容器
docker rm container-id
### 檢視當前容器日誌:
docker logs container-name/container-id
1. 查詢mysql映象
docker search mysql
2.拉取mysql映象,因工作需求,我用的是mysql5.7
docker pull mysql:5.7
3.檢視本地映象
docker images 或者 docker images |grep mysql
4.執行mysql映象
特別注意
mysql(5.7.19)的預設配置檔案是 /etc/mysql/my.cnf 檔案。如果想要自定義配置,建議向 /etc/mysql/conf.d 目錄中建立 .cnf 檔案。新建的檔案可以任意起名,只要保證字尾名是 cnf 即可。
docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e mysql_root_password=123456 -d mysql:5.7
### 下面這條適用5.6版本
docker run -p 3306:3306 --name mymysql -v $pwd/conf:/etc/mysql/conf.d -v $pwd/logs:/logs -v $pwd/data:/var/lib/mysql -e mysql_root_password=123456 -d mysql:5.6
第四部引數說明
5.進入mysql容器
docker exec -it mysql bash
問題access denied for user 『root』@『localhost』 (using password: yes)
密碼並沒錯。。
解決找到我們在執行是的.cnf檔案並進行編輯
[mysqld]
skip-grant-tables
然後重新啟動容器即可
docker restart 6534d1f69ae0(container id)
就可以通過mysql -uroot -p
登入啦,不需要密碼
然後mysql服務中
use mysql;
update user set authentication_string='' where user='root';
flush privileges;
退出mysql,把剛才在.cnf檔案中的配置注釋掉,重啟mysql
# 重設密碼
alter user 'root'@'localhost' identified by '123456';
問題解決!
6.設定外網訪問使用者
create user 'lucas'@'%' identified with mysql_native_password by '123456789!';
## 賦權,不推薦給太大的許可權
grant all privileges on *.* to 'lucas'@'%';
grant select, insert, update, delete on *.* to lucas@'%';
7.使用sqlyog測試(mysql管理工具)
很明顯,相比以前安裝在linux,在docker上操作變的更簡單也更容易管理了,也更方便管理
docker 搭建nacos並連線mysql資料庫
最近有在寫自己的腳手架專案,所以需要乙個配置中心。也可以用spring cloud的config bus實現,但是自己更熟悉nacos動態配置的使用,所以就自己用docker搭建乙個。因為我需要使用docker搭建。對於配置的儲存希望在另外乙個docker搭建的資料庫上,不可避免的不能用簡單的直接d...
Linux下利用Docker搭建MYSQL5 7
1 建立mysql配置目錄 建立配置目錄 mkdir p etc mysql conf.d 建立資料和日誌目錄 mkdir pv opt mysql 2 修改my.cnf配置 輸入 sudo vim etc mysql conf.d my.cnf,新增如下內容 mysqld default stor...
Docker之路 認識docker
docker 是基於 os 層的虛擬化技術之上的容器引擎,實現對程序的封裝隔離。開發者可以打包他們的應用以及依賴包到乙個可移植的容器中,然後發布到任何流行的 linux 機器上。docker為開發人員以及系統管理員提供了乙個用於開發 部署 和在容器中執行應用的平台。使用linux容器來部署應用這種方...