1.docker安裝mysql
docker pull mysql (例如:docker pull mysql:5.6)
2.查看mysql
docker images |grep mysql
3.查看本地鏡像: (參數-a 表示所有)
docker images -a
4.啟動 mysql 容器,並進入 shell 命令交互界面:
docker run -it mysql /bin/bash (參數 -i -t 等價於 -it 表示insert , 進入 ; /bin/bash 表示 shell 腳本交互界面 )
5.查看 mysql 版本信息 ( mysql --help 查看幫助信息,並在結果集中 查找 Distrib)
mysql --help | grep Distrib
6. 退出 當前交互窗口:exit 。此操作會關閉 mysql 服務 。
(對於創建的bush 容器,exit 退出后,容器也會退出。 這是因為對Docker 來說,容器中的應用退出了,容器也就沒有必要繼續運行了。)
7. 想要服務一直運行可以:
docker run -p 3306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
(參數 -p 設置端口,--name 取名 ,-e MYSQL_ROOT_PASSWORD=123456 設置 賬號為 root ,密碼為 123456 , -d 表示作為一個守護進程在后台運行 )
8. 查看運行中的容器:
docker ps (可加參數 -a 表示所有,如果不加這個參數只會展示運行狀態的容器, 按容器即服務的思想,某種程度上可以把容器也當作服務,)
9.關閉容器 (628a520a1c71是mysql容器的ID)
docker stop 628a520a1c71
10.刪除容器 (mysql是自己命名的容器名)
docker rm -f mysql
11.通過 docker port 容器name 查看對應端口:
docker port my_mysql
12.相關文件地址配置 ,可以在運行容器時設置 :(重新啟動mysql,並掛載配置文件到宿主機)
docker run -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql
(
命令說明:
• -p 3306:3306:將容器的3306端口映射到主機的3306端口
• -v $PWD/conf/my.cnf:/etc/mysql/my.cnf:將主機當前目錄下的conf/my.cnf掛載到容器的/etc/mysql/my.cnf
• -v $PWD/logs:/logs:將主機當前目錄下的logs目錄掛載到容器的/logs
• -v $PWD/data:/mysql_data:將主機當前目錄下的data目錄掛載到容器的/mysql_data
• -e MYSQL_ROOT_PASSWORD=123456:初始化root用戶的密碼
)
13.在shell中訪問mysql
docker exec -it my_mysql bash
mysql -u root -p
密碼:123456
-----其他參考命令
mysql8設置密碼 update mysql.user set host="%" where user="root"; ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'; flush privileges;