MacOS下下载安装Docker,并pull mysql image我在很早之前做过了。不赘述了,很简单。
以下步骤简单记录我重新创建MySQL容器的命令,供日后参考。
启动Docker后,打开terminal,先查看现有images: docker images,我发现我有两个mysql镜像,于是删掉一个: docker rmi imageID
(base) Sophie-mbp:~ Sophie$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
redis latest dcf9ec9265e0 5 months ago 98.2MB
mysql 5.7 1e4405fe1ea9 5 months ago 437MB
mysql latest d435eee2caa5 5 months ago 456MB
hello-world latest fce289e99eb9 15 months ago 1.84kB
(base) Sophie-mbp:~ Sophie$ docker rmi 1e4405fe1ea9
然后在Host机器目录(也就是我的电脑本尊)创建三个文件夹,分别用于存放mysql容器的data/config/log,并在docker里面配置进去:Preferences --> Resources --> FILE SHARING,然后Apply&Restart。
接下来创建并启动MySQL容器,把刚刚这三个目录mount到这个容器。
-p 3306:3306意思是将host机器的3306端口映射到docker container的3306端口
--name是配置容器名为MySQL
-v就是将host目录跟container目录映射起来,这样将来container没了,数据,配置,Log都还在
-e配置容器root密码
-d配置该容器来自哪个镜像
docker run -p 3306:3306 --name MySQL -v /Users/Sophie/Applications/docker/conf:/etc/mysql -v /Users/Sophie/Applications/docker/log:/var/log/mysql -v /Users/Sophie/Applications/docker/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=wobugaosunihahaha -d mysql:latest
然而不幸的是,我这个容器起起来就exit了...docker ps -a能看到过去所有的没有被删除的容器
然后用docker logs 容器ID查看日志(容器ID只用给出开头一部分字符,且能在所有容器ID里面确定唯一目标容器的开头部分字符即可)。由于我只有一个容器,所以我给出一个c就能唯一确定我想要查看的容器日志。