如何在本地运行此 mysql docker 镜像构建
2020-07-18
997
我的主机操作系统是 Ubuntu 18。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 镜像?
2个回答
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
Adiii
2020-07-18
docker container run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=password reg-database
您可以输入任意名称和任意密码
masiboo
2020-07-18