1、查找鏡像
docker search mysql
也可以去官網檢視鏡像tag,選擇自己需要的版本,否則會下載下傳最新版本:https://hub.docker.com/_/mysql/
2、下載下傳鏡像
docker pull mysql
3、運作容器
docker run -p 3306:3306 --name mysql-1 -e MYSQL_ROOT_PASSWORD=root -d mysql
參數說明:
- -p 3306:3306:将容器的 3306 端口映射到主機的 3306 端口。
- –name:指定容器名稱
- -e MYSQL_ROOT_PASSWORD=root:初始化 root 使用者的密碼。
- -d:背景運作
- mysql:運作的鏡像名稱,如果不跟上版本,預設為mysql:laster。
此時,用navicat for mysql連接配接mysql發現報錯:Client does not support authentication protocol requested by server。
解決方案:
#進入容器:
docker exec -it mysql /bin/bash
#登入mysql:
mysql -uroot -p
#更新root使用者密碼:
mysql> ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
#重新整理權限:
mysql> flush privileges;
4、修改docker中mysql配置
第一種方法:安裝vim,在docker中安裝vim
apt-get update
apt-get install vim
第二種方法:在啟動時,直接映射conf->/etc/mysql/conf.d檔案夾,然後在conf.d中添加my.cnf檔案。由于/etc/mysql/my.cnf預設導入了conf.d檔案夾下的内容,是以直接在主控端外部添加my.cnf檔案即可。
docker run -p 3306:3306 --name mysql-1 --privileged=true -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql
第三種方法:在數組機修改後,複制到docker容器中。
從容器中複制到主控端
docker cp mysql:/etc/mysql/mysql.conf.d/mysqld.cnf /root/mysqld.cnf
從主控端複制到容器
docker cp /root/mysqld.cnf mymysql:/etc/mysql/mysql.conf.d/
Docker 修改MySQL配置
參考:https://blog.csdn.net/zhaoyajie1011/article/details/98623666