docker in win10 踩过的坑

1,204 阅读1分钟

1. 如果Win10使用了Vmware

问题:会出现VMware和Docker不兼容的情况。
VMware® Workstation 16 Pro 版本中此问题已解决

解决办法如下:

1.1 如果想用VM的话:

bcdedit /set hypervisorlaunchtype off

重启PC再使用VM

1.2 如果想用Docker的话:

bcdedit /set hypervisorlaunchtype auto

重启PC再使用Docker

2. 用过几天Docker后

问题:突然有一天出现了以下错误:

error during connect: This error may indicate that the docker daemon is not running.: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=setting&target=&ulimits=null&version=1: open //./pipe/docker_engine: The system cannot find the file specified.

解决方法如下:

cd "C:\Program Files\Docker\Docker"

3. 环境变量的使用

3.1 docker中运行

基于容器的大量普及,可以把容器当作轻量级的操作系统看待。 如果docker运行应用的话,环境变量写在Dockerfile中,如下:

FROM mcr.microsoft.com/dotnet/aspnet:5.0 AS base
WORKDIR /app
EXPOSE 80
EXPOSE 443
# 在Windows和macOS平台下并没有docker0虚拟网卡,这时候可以使用host.docker.internal这个特殊的DNS名称来解析宿主机IP
ENV DB_HOST="host.docker.internal"
ENV DB_PASSWORD="aaaaaaa"
ENV DB_NAME="test"
ENV DB_USER="root"
ENV DB_PORT="3306"

3.2 本地运行

需要win10 -》高级系统设置-》环境变量-》系统变量,如下:

[确定]按钮,然后重新启动计算机