運行mysql
docker search mysql docker pull mysql:5.7 docker images # 掛載容器內的目錄到主機中的指定目錄 docker run -d \ -p 3310:3306 \ -v /home/mysql/conf:/etc/mysql/conf.d \ -v /home/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ --name mysql01 \ mysql:5.7 \ --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
測試sql
# 鏈接容器的MySQL $ docker run -it --rm mysql:5.7 mysql -hmysql01 -uexample-user -p # 進入容器 $ docker exec -it mysql01 bash # 查看容器日誌 $ docker logs mysql01
查看全部可用的選項列表:docker
$ docker run -it --rm mysql:5.7 --verbose --help
$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD_FILE=/run/secrets/mysql-root -d mysql:5.7
僅支持MYSQL_ROOT_PASSWORD
,MYSQL_ROOT_HOST
,MYSQL_DATABASE
,MYSQL_USER
,和MYSQL_PASSWORD
。數據庫
$ mkdir data $ ls -lnd data drwxr-xr-x 2 1000 1000 4096 Aug 27 15:54 data $ docker run -v "$PWD/data":/var/lib/mysql --user 1000:1000 --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:5.7
$ docker exec some-mysql sh -c 'exec mysqldump --all-databases -uroot -p"$MYSQL_ROOT_PASSWORD"' > /some/path/on/your/host/all-databases.sql
$ docker exec -i some-mysql sh -c 'exec mysql -uroot -p"$MYSQL_ROOT_PASSWORD"' < /some/path/on/your/host/all-databases.sql