1. 下載鏡像
本例使用mysql 5.7版本
docker pull docker.io/mysql:5.7 |
2. 運行容器
2.1. 例1
docker run -d --name mysql-test -e MYSQL_ROOT_PASSWORD=123456 -p 13306:3306 docker.io/mysql:5.7 |
參數說明:
l -d: 程序保持后台運行
l --name:指定容器名稱
l -e MYSQL_ROOT_PASSWORD:指定root密碼
l -p 13306:3306:端口映射,將宿主機13306映射到容器3306端口
2.2. 例2
docker run -p 12345:3306 --name mysql -v /data/mysql/conf:/etc/mysql/conf.d -v /data/mysql/logs:/logs -v /data/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6 |
命令說明:
l -p 12345:3306:將主機的12345端口映射到docker容器的3306端口。
l --name mysql:運行服務名字
l -v /data/mysql/conf:/etc/mysql/conf.d :將主機/data/mysql錄下的conf/my.cnf 掛載到容器的 /etc/mysql/conf.d
l -v /data/mysql/logs:/logs:將主機/data/mysql目錄下的 logs 目錄掛載到容器的 /logs。
l -v /data/mysql/data:/var/lib/mysql :將主機/data/mysql目錄下的data目錄掛載到容器的 /var/lib/mysql
l -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
l -d mysql:5.6: 后台程序運行mysql5.6
2.3. 例3
Mysql5.7實戰舉例
保存配置、數據和日志文件。
docker run -d --name mysql-test -v /data/docker/mysql/conf:/etc/mysql/conf.d -v /data/docker/mysql/logs:/var/log -v /data/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 mysql:5.7 |
3. 測試
以例1參數連接mysql
IP:13306 root/123456 |
4. 備份數據庫
docker exec myql服務容器ID sh -c ' exec mysqldump --all-databases -uroot -p"123456" ' > /data/all-databases.sql |
5. 安裝vim
apt-get update apt-get install vim |