我的主机操作系统是Ubuntu18。Docker版本19.03.6,内部版本369ce74a3c
这是docker文件:-
FROM mysql:5.7
ADD docker-entrypoint-initdb.d/ /docker-entrypoint-initdb.d/
ENV MYSQL_DATABASE=dockercon2035
ENV MYSQL_USER=gordon
ENV MYSQL_PASSWORD=password
docker-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
如何运行此docker映像?
答案 0 :(得分:1)
2020-07-18T09:09:30.861935Z 0 [ERROR] mysqld: unknown option '-p'
该错误是由于您的第一个docker run命令,
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
答案 1 :(得分:0)
docker container run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=password reg-database
您可以提供任何名称和密码