我的主机os是Ubuntu 18. Docker版本19.03.6,构建369ce74a3c
这是码头文件:-
FROM mysql:5.7
ADD docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/
ENV MYSQL_DATABASE=dockercon2035
ENV MYSQL_USER=gordon
ENV MYSQL_PASSWORD=passworddocker-entrypoint initdb.d有initialize_db.sql
CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`dateOfBirth` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`emailAddress` varchar(255) NOT NULL,
`firstName` varchar(255) NOT NULL,
`lastName` varchar(255) NOT NULL,
`password` varchar(8) NOT NULL,
`userName` varchar(20) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=43 DEFAULT CHARSET=latin1;我将其构建为:docker build -t reg-database .
然后我试着把它运行为:-
docker run reg-database -p 3306:3306 -e "MYSQL_ROOT_PASSWORD=password" -e "MYSQL_USER=gordon"我发现了以下错误:-
[Note] [Entrypoint]: Entrypoint script for MySQL Server 5.7.31-1debian10 started.
2020-07-18 09:09:30+00:00 [ERROR] [Entrypoint]: mysqld failed while attempting to check config
command was: mysqld -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -e MYSQL_USER=gordon --verbose --help
2020-07-18T09:09:30.861935Z 0 [ERROR] mysqld: unknown option '-p'
2020-07-18T09:09:30.864121Z 0 [ERROR] Aborting我怎么能运行这个码头形象?
发布于 2020-07-18 10:27:27
2020-07-18T09:09:30.861935Z 0 [ERROR] mysqld: unknown option '-p'
错误是因为您的第一个停靠程序运行命令,
docker run reg-database -p 3306:3306 -e "MYSQL_ROOT_PASSWORD=password" -e "MYSQL_USER=gordon"在docker image name之后的任何内容都将被视为MySQL过程的参数。因此,-p 3306:3306和-e ...也是作为参数传递的。
正确的命令应该是
docker run -it --rm -p 3306:3306 -e "MYSQL_ROOT_PASSWORD=password" -e "MYSQL_USER=gordon" reg-database 发布于 2020-07-18 10:10:51
docker container run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=password reg-database您可以提供任何名称和密码。
https://stackoverflow.com/questions/62966735
复制相似问题