windows11启动docker镜像报<3>WSL (1) ERROR处理

1、镜像dockerfile

此处etcd_server.exe是我提前打好的etcd3.5的可编译文件

# 使用一个轻量级的基础镜像
FROM alpine:latest

# 设置工作目录
WORKDIR /app

# 将本地编译好的可执行文件复制到容器中,此处etcd_server.exe是我提前打好的etcd3.5的可编译文件
COPY ./server/etcd_server.exe .

# 暴露应用程序监听的端口(如果有的话)
EXPOSE 8080

# 启动应用程序
CMD ["./etcd_server.exe"]

2、通过docker-build

//执行dockerbuild:

docker build -t my-etcd-app .


3、执行docker run异常error信息:

docker run -p 2379:2379 my-etcd-app

<3>WSL (1) ERROR: ConfigInitializeEntry:1621: Failed to mount (null) at /dev as devtmpfs 1

4、处理异常解决

此处如果你按照<3>WSL (1) ERROR:问题去找原因,你怎么都解决不了这个问题,我再网上看了半天,也没个解决办法,最后发现是dockerfile里面的镜像有问题,但是build的时候它没提示异常,也是导致误导我的原因:

解决方案,修改dockerfile,需要用linux能执行的编译文件,重新编译go语言包编译成linux,如果碰见编译linux的问题,就自行查阅,我是通过linux上进行编译的,因为windows上编译有问题,所以并未进行交叉编译可执行文件,此处基础镜像需要换成golang:latest,用上面的基础镜像也会有问题

# 使用一个轻量级的基础镜像
FROM golang:latest

# 设置工作目录
WORKDIR /app

# 将本地编译好的可执行文件复制到容器中,此处etcd_server.exe是我提前打好的etcd3.5的可编译文件
COPY ./server/etcd_server .

# 暴露应用程序监听的端口(如果有的话)
EXPOSE 2379

# 启动应用程序
CMD ["./etcd_server"]

这个问题就会得到解决,我下一篇文章会提供我编译好的docker镜像,以及整体编译的镜像docker文件

你可能感兴趣的:(docker,容器,运维)