docker-compose - docker 官方的镜像大多基于debian,但是官方源更新失败,如何更换成中国源?

浏览:52日期:2023-02-20

问题描述

docker-compose --project-name 'dev_' build php

Building phpStep 1 : FROM php:5.6-fpm ---> a0e78ea4a88bStep 2 : RUN apt-get update && apt-get install -y git libgearman-dev libmemcached-dev libmcrypt-dev libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmagickwand-dev libmagickcore-dev ---> Running in 8181163c0190Ign http://security.debian.org jessie/updates InReleaseErr http://security.debian.org jessie/updates Release.gpg Connection failedIgn http://security.debian.org jessie/updates ReleaseErr http://security.debian.org jessie/updates/main amd64 Packages Err http://security.debian.org jessie/updates/main amd64 Packages Err http://security.debian.org jessie/updates/main amd64 Packages Err http://security.debian.org jessie/updates/main amd64 Packages Err http://security.debian.org jessie/updates/main amd64 Packages Connection failedErr http://httpredir.debian.org jessie InRelease Err http://httpredir.debian.org jessie-updates InRelease Err http://httpredir.debian.org jessie Release.gpg Could not resolve ’httpredir.debian.org’Err http://httpredir.debian.org jessie-updates Release.gpg Could not resolve ’httpredir.debian.org’Reading package lists...W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie/InRelease W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie-updates/InRelease W: Failed to fetch http://security.debian.org/dists/jessie/updates/Release.gpg Connection failedW: Failed to fetch http://security.debian.org/dists/jessie/updates/main/binary-amd64/Packages Connection failedW: Failed to fetch http://httpredir.debian.org/debian/dists/jessie/Release.gpg Could not resolve ’httpredir.debian.org’W: Failed to fetch http://httpredir.debian.org/debian/dists/jessie-updates/Release.gpg Could not resolve ’httpredir.debian.org’W: Some index files failed to download. They have been ignored, or old ones used instead.Reading package lists...Building dependency tree...Reading state information...E: Unable to locate package gitE: Unable to locate package libgearman-devE: Unable to locate package libmemcached-devE: Unable to locate package libmcrypt-devE: Unable to locate package libfreetype6-devE: Unable to locate package libjpeg62-turbo-devE: Unable to locate package libpng12-devE: Unable to locate package libmagickwand-devE: Unable to locate package libmagickcore-devERROR: Service ’php’ failed to build: The command ’/bin/sh -c apt-get update && apt-get install -y git libgearman-dev libmemcached-dev libmcrypt-dev libfreetype6-dev libjpeg62-turbo-dev libpng12-dev libmagickwand-dev libmagickcore-dev’ returned a non-zero code: 100

问题解答

回答1:

#更新apt-get源 使用163的源RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak && echo 'deb http://mirrors.163.com/debian/ jessie main non-free contrib' >/etc/apt/sources.list && echo 'deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib' >>/etc/apt/sources.list && echo 'deb-src http://mirrors.163.com/debian/ jessie main non-free contrib' >>/etc/apt/sources.list && echo 'deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib' >>/etc/apt/sources.list回答2:

玩docker完全可以用国内某站镜像啊国内某站镜像

回答3:

要不咱用一个proxychain代理一个科学上网到1080端口,然后去请求官方源,速度也不慢。我是这么做的。

回答4:

公司的话, 内部或测试机子做个私有的镜像存放服务器, 免得每次提交更新镜像都慢的蛋疼

回答5:

官方的镜像大多是基于 debian:jessie 的,如果这个基础镜像经常拉取失败的话有个小窍门:

直接从国内的镜像站拉取镜像,如 daocloud ,这时拉取的镜像的名称大致是这样的: daocloud.io/library/debian:jessie,然后执行 docker tag daocloud.io/library/debian:jessie debian:jessie 就可以完成类似重命名镜像的操作(其实是给同一个镜像打了两个标签)。因为执行构建的时候会首先查找本地是否有对应名称的镜像,所以就不会从网上下载 debian 的基础镜像了

回答6:

(配置 Docker 加速器) 不配置基本下载不了,墙的厉害

进入 https://dashboard.daocloud.io/ 先注册一个账号,没收费, 然后登陆后 进入个人中心,里面有 加速器,点击进入就好,然后就自己看了。里面有 Linux mac windows 的用法,

参考文章 : /a/11...

相关文章: