docker通過image--安裝mysql

親測的運行容器命令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的鏡像文件

直接輸入:sudo docker pull docker.io/mysql:5.7       會默認的下載最新的mysql

下載完了,我們查看一下,鏡像文件


可以發現 ,我們的服務器裏,已經有了 mysql這個鏡像文件了,接下來,我們要去啓動這個鏡像文件

讓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官方的鏡像文件,會帶來好多問題

可以參考:https://www.cnblogs.com/cfrost/p/6241892.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章