dockerfile文件构建镜像踩坑记录

1、Docker镜像拉取错误码:

C:UsersAdministrator>docker pull mysql:5.7
5.7: Pulling from library/mysql
no matching manifest for unknown in the manifest list entries

  需要将docker desktop的配置改下:experimental 需要改为 true

{
  "registry-mirrors": ["https://j3a0qs56.mirror.aliyuncs.com"],
  "insecure-registries": [],
  "debug": true,
  "experimental": true
}

2、构建镜像报错:return a non-zero code 及container is not running 的问题

  该问题解决了很久,刚开始写的dockefile复杂点,试了网上几种解决方案都不行,所以考虑搞一个最简单的dockerfile来看看问题在哪,如下最简答的dockerfile

FROM nginx
RUN echo '<h1>hello, Docker! 2019-8-9</h1>' > /usr/share/nginx/html/index.html

  发现还是报同样的问题,所以我意识到可能不是文件的问题,而是要么window系统,要么就是docker安装有问题。所以咨询了之前的后端同事,发现我下载的docker安装包跟他的大小不一样,他的 400多M,而我下载的380多M。所以可能意识到安装有问题,所以卸载了 docker,然后拿了同事的安装包,同时还告诉我用管理员运行安装。所以重新安装之后,就好了。

  安装包可能影响不大,因为我也是从官网下载的。我估计问题点应该是需要以管理员模式安装的问题,而我之前不是以管理员模式安装的。记录分享下,希望有遇到的朋友可以少解决点坑。

3、承接这个简单的dockerfile文件构建镜像

// 1、构建镜像
docker build -t nginx_test .

// 2、运行容器
docker run -d -p 80 nginx_test:latest

  可以看到端口映射为 32768,那么我们访问 localhost:32768 成功

  也可以指定映射端口号:

原文地址:https://www.cnblogs.com/goloving/p/13538218.html