docker通過image 安裝mysql

2021-09-27 02:44:33 字數 1944 閱讀 6152

親測的執行容器命令sudo docker run -p 3306:3306 --name mymysql -e mysql_root_password=123456 -di 95e0fc47b096 帶上-v進行目錄對映時會出現狀態為exit通過docker logs containerid檢視日誌顯示:

mysqld: can't read dir of '/etc/mysql/conf.d/' (errcode: 13 - permission denied)

第一步:搜尋mysql 映象檔案

docker search mysql

這裡面都是按照 星級 排序的,我們用最高的那乙個就可以了

可以發現 ,我們的伺服器裡,已經有了 mysql這個映象檔案了,接下來,我們要去啟動這個映象檔案

讓mysql的服務跑起來 mkdir -p /mysql/ cd mysql

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 8d99edb9fd40

命令說明:

-p 3306:3306:將容器的 3306 埠對映到主機的 3306 埠。

-v -v $pwd/conf:/etc/mysql/conf.d:將主機當前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。

-v $pwd/logs:/logs:將主機當前目錄下的 logs 目錄掛載到容器的 /logs。

-v $pwd/data:/var/lib/mysql :將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql 。

-e mysql_root_password=123456:初始化 root 使用者的密碼。

-d 執行後輸出 容器id

完成啟動之後可用命令 : docker ps 檢視正在執行的容器

下面列出一些常用的命令:

$ docker ps // 檢視所有正在執行容器

$ docker stop containerid // containerid 是容器的id

$ docker ps -a // 檢視所有容器

$ docker ps -a -q // 檢視所有容器id

$ docker stop $(docker ps -a -q) // stop停止所有容器

$ docker rm $(docker ps -a -q) // remove刪除所有容器 ,單個刪除直接 :docker rm containerid

$ docker rmi ee633f5d1d11 :這個是用來刪除映象的 後面的是映象id,刪除的映象的時候要注意,必須先停止容器,然後刪除容器,然後刪除映象

這個時候 我可以用一些視覺化工具去連線這個mysql 資料庫了

如果出現圖示的錯誤, 解決方法:

authentication plugin cachin_sha2_pawwword canot be loaded

1:進入容器 :docker exec -it pwc-mysql /bin/bash

2:mysql -uroot -p -h localhost   

緊接著會要你輸入面,就輸入你剛才執行這個容器的時候  

-e mysql_root_password=123456     :  輸入  123456 即可

3:修改乙個密碼  alter user 'root'@'%' identified with mysql_native_password by 'root';

再次 用  視覺化 客戶端連線 ,就可以了

退出 mysql互動介面 :exit

到此,mysql的 安裝 和啟動就基本上完成了,但是這裡要注意的是這裡使用的是mysql官方的映象檔案,會帶來好多問題

可以參考:

linux環境下通過原始碼安裝imagemagick

1.官網 download delegates 或者 tar xvzf imagemagick.tar.gz 4.設定配置項 configure without prel enable shared disable openmp 5.編譯 make 6.安裝 make install 7.使用新增的...

通過 Ansible 安裝 Docker

本文的演示環境為 ubuntu 16.04。先在 ansible galaxy 搜尋 docker,由 geerlingguy 貢獻的 docker role 是目前最受歡迎的 通過 ansible galaxy 命令可以把上面搜尋到的 role 安裝到本地 ansible galaxy insta...

通過 Ansible 安裝 Docker

本文的演示環境為 ubuntu 16.04。先在 ansible galaxy 搜尋 docker,由 geerlingguy 貢獻的 docker role 是目前最受歡迎的 通過 ansible galaxy 命令可以把上面搜尋到的 role 安裝到本地 ansible galaxy insta...