Cannot create container for service mysql-db: Post "http://ipc/filesharing/share": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

今天在用docker构建镜像并且启动服务的时候报了一个这样的错误:

问题描述:

Cannot create container for service mysql-db: Post "http://ipc/filesharing/share": context deadline exceeded (Client.Timeout exceeded while awaiting headers)

问题溯源:

我是用

docker-compose -f docker-compose-mysql.yml up

我的docker-compose-mysql.yml文件配置如下:

version: '3'
services:
 mysql-db:
   container_name: mysql-docker        # 指定容器的名称
   image: mysql:8.0                   # 指定镜像和版本
   ports:
     - "3366:3366"
   environment:
     MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
     MYSQL_ROOT_HOST: ${MYSQL_ROOT_HOST}
     MYSQL_USER: ${MYSQL_USER}
     MYSQL_PASSWORD: ${MYSQL_PASSWORD}
   volumes:
     - "${MYSQL_DIR}/data:/var/lib/mysql"           # 挂载数据目录
     - "${MYSQL_DIR}/config:/etc/mysql/conf.d"      # 挂载配置文件目录

问题分析和解决:

经过分析,发现可能是挂在出了问题,因此将我的挂载目录${MYSQL_DIR}对应的本级目录就是

如图所示:

将C:\dockerdata添加到docker-desktop对应的配置,然后再次执行命令,这次问题终于解决。

总结:

docker将容器内的目录挂在到外部的时候需要申请共享的权限

版权声明:著作权归作者所有。

相关推荐

nvm use: Cannot create a file when that file already exists.

安装好nvm-windows,使用nvm install 12.22.1版本的nodejs,报错:exit status 1: Cannot create a file when that file already exists.安装nvm过程中,会要设置nodejs的快捷连接symlink,windows默认是C:\Program Files\nodejs。nvm就是通过修改快捷链接来改变nod

Kotlin:循环语句for与while

For语句使用for语句做迭代需要满足:提供一个迭代器Iterator。使用成员函数提供迭代器如Array:operator fun iterator(): Iterator<T> 注意:iterator()函数需要使用operator标记。使用扩展函数提供迭代器除了添加成员函数iterator提供迭代器外,也可以通过extension function来添加iterator