问题描述
使用docker下载了MySQL镜像,然后想使用docker run
命令来运行容器,以下是我写的命令,结果不出意外的报错了!
docker run mysql:8.0.23 -p 3306:3306 --name mysql\
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d\
-v /home/mysql/log:/var/log/mysql\
-e MYSQL_ROOT_PASSWORD=root\
-d mysql:5.7
解决方法
这里犯了一个初学者经常犯的错误,在写完docker run
之后想当然的就想到写mysql:8.0.23
,这是不符合要求的,什么要求呢?使用命令docker run --help
就知道了:
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
:
清清楚楚地写到run
后面是要跟参数的,我这直接写镜像名是什么意思! 于是我调整了一下顺序
docker run -p 3306:3306 --name mysql\
-v /home/mysql/data:/var/lib/mysql \
-v /home/mysql/conf:/etc/mysql/conf.d\
-v /home/mysql/log:/var/log/mysql\
-e MYSQL_ROOT_PASSWORD=root\
-d mysql:5.7
成功解决问题,写到这里我不禁感由心发,使用docker 命令 --help
是多么重要,一定要看清用法。