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

时间:2022-06-01 13:02:12

今天在用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}对应的本级目录就是

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

如图所示:

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

总结:

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