Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Docker mysql:5.6在装载卷时退出,代码为141_Mysql_Docker - Fatal编程技术网

Docker mysql:5.6在装载卷时退出,代码为141

Docker mysql:5.6在装载卷时退出,代码为141,mysql,docker,Mysql,Docker,我已经用这个图像进行了数周的批量安装,现在没有任何问题。现在突然,如果我尝试挂载一个卷,任何卷,容器都会打印一些基本的启动日志并退出 应用程序本身没有给出错误的指示,所以这似乎是docker自己在挤压东西 这就是我所拥有的: Docker版本(mac上的本机版本): 本地目录: $ ls 1 Dockerfile README.md Schema dba_utilities docker-com

我已经用这个图像进行了数周的批量安装,现在没有任何问题。现在突然,如果我尝试挂载一个卷,任何卷,容器都会打印一些基本的启动日志并退出

应用程序本身没有给出错误的指示,所以这似乎是docker自己在挤压东西

这就是我所拥有的:

Docker版本(mac上的本机版本):

本地目录:

$ ls
1                  Dockerfile         README.md          Schema             dba_utilities      docker-compose.yml docs
启动MYSQL容器:

$ docker run -d  -v $PWD/Schema:/root:ro -v $PWD/dba_utilities:/tmp:ro -e MYSQL_ROOT_PASSWORD=my-secret-pw  mysql:5.6
aa213c8cb28ea2f75e3064b296db6e5e450466cc45e60a7de3f21a2ca98987f4
现在证明它死了:

$ docker ps -a | head -3
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                           PORTS               NAMES
aa213c8cb28e        mysql:5.6           "docker-entrypoint..."   23 seconds ago      Exited (141) 21 seconds ago                          inspiring_curie
cc43d27b29cf        mysql:5.6           "docker-entrypoint..."   4 minutes ago       Exited (141) 4 minutes ago                           laughing_shaw
现在显示容器日志:

$ docker logs aa213c8cb28ea2f75e3064b296db6e5e450466cc45e60a7de3f21a2ca98987f4
Initializing database
2017-10-02 18:31:00 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-10-02 18:31:00 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-10-02 18:31:00 0 [Note] /usr/sbin/mysqld (mysqld 5.6.37) starting as process 36 ...
但是,如果我试着从同一个图像中拿出一个外壳,并且具有相同的卷,所有这些看起来都很好:

$ docker run -it  -v $PWD/Schema:/root:ro -v $PWD/dba_utilities:/tmp:ro -e MYSQL_ROOT_PASSWORD=my-secret-pw  mysql:5.6 /bin/bash
root@898fe2f883a2:/# cd
root@898fe2f883a2:~# ls
README.md  db1  db2
root@898fe2f883a2:~# ls /tmp
README.md  apply.sh  dump_all.sh  pullschema.sh  schemata.txt
root@898fe2f883a2:~# pwd
/root
root@898fe2f883a2:~# exit     
现在,如果我卸下卷装载:

$ docker run -d   -e MYSQL_ROOT_PASSWORD=my-secret-pw  mysql:5.6 
98b51f96fe482cfd0453a0eb4ff8b9d1f2729244ad2316e245680ce4976a200d
并检查状态:

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
98b51f96fe48        mysql:5.6           "docker-entrypoint..."   4 seconds ago       Up 3 seconds        3306/tcp            nervous_mcnulty
它在跑。从日志验证:

docker logs 98b51f96fe482cfd0453a0eb4ff8b9d1f2729244ad2316e245680ce4976a200d
Initializing database
2017-10-02 18:36:48 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-10-02 18:36:48 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-10-02 18:36:48 0 [Note] /usr/sbin/mysqld (mysqld 5.6.37) starting as process 36 ...


2017-10-02 18:36:53 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-10-02 18:36:53 0 [Note] Ignoring --secure-file-priv value as server is running with --bootstrap.
2017-10-02 18:36:53 0 [Note] /usr/sbin/mysqld (mysqld 5.6.37) starting as process 59 ...
Database initialized
MySQL init process in progress...
2017-10-02 18:36:56 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-10-02 18:36:56 0 [Note] mysqld (mysqld 5.6.37) starting as process 87 ...
Warning: Unable to load '/usr/share/zoneinfo/iso3166.tab' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/leap-seconds.list' as time zone. Skipping it.
Warning: Unable to load '/usr/share/zoneinfo/zone.tab' as time zone. Skipping it.


MySQL init process done. Ready for start up.

2017-10-02 18:36:59 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2017-10-02 18:36:59 0 [Note] mysqld (mysqld 5.6.37) starting as process 1 ...
在过去,即使卷装载有问题,也可能会立即出错,或者我没有装载,但这不是问题


我也曾在ubuntu 14.04虚拟机上尝试过这一方法,得到了相同的结果。这里的解决方案是从挂载和env变量寻址中删除只读标志,这对我很有效,我能够在Docker 17.06.1-ce版,build 874a737上重现你的错误,所以这看起来是一个更广泛的问题,我试着省略了env变量用法和:ro标志,但都不起作用,只是在这里都不起作用

docker run -d -v Schema:/root -v dba_utils:/tmp -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.6

141是
SIGPIPE
,因此可能是您的操作系统在服务启动时终止了它。
docker run -d -v Schema:/root -v dba_utils:/tmp -e MYSQL_ROOT_PASSWORD=my-secret-pw mysql:5.6