从Github上拉取python项目后,运行dockerfile构建镜像失败,一步步查找原因

  主要原因就是国内下载各种依赖超时,以下提供pip、apt、pipenv镜像解决方案

  pip更换国内镜像

  这个简单,只要后面加镜像地址和权限就行。例如:

  RUN pip install pipenv -i http://mirrors.cloud.aliyuncs.com/pypi/simple/ --trusted-host mirrors.cloud.aliyuncs.com

  apt(ubuntu系统的高级包装工具)更换国内镜像

  首先要知道自己Linux系统是哪个,输入以下命令,查看Linux系统版本信息

  cat /etc/os-release

  

  在清华大学开源软件镜像站选择同一版本镜像

  在同一目录下创建sources.list文件,复制镜像地址到sources.list

  

  在dockerfile中添加

  COPY sources.list /etc/apt/sources.list

  例如

  COPY sources.list /etc/apt/sources.list
  RUN apt-get update && apt-get install -y --no-install-recommends gcc

  pipenv更换国内镜像

  将Pipfile,url更改为https://pypi.tuna.tsinghua.edu.cn/simple/

  

  dockerfile中添加

  COPY Pipfile .

  例如:

  COPY Pipfile .
  RUN PIPENV_VENV_IN_PROJECT=1 pipenv install --deploy
 

Docker构建镜像踩坑日记的更多相关文章

  1. AI相关 TensorFlow -卷积神经网络 踩坑日记之一

    上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是g ...

  2. 人工智能(AI)库TensorFlow 踩坑日记之一

    上次写完粗浅的BP算法 介绍 本来应该继续把 卷积神经网络算法写一下的 但是最近一直在踩 TensorFlow的坑.所以就先跳过算法介绍直接来应用场景,原谅我吧. TensorFlow 介绍 TF是g ...

  3. Hexo搭建静态博客踩坑日记(二)

    前言 Hexo搭建静态博客踩坑日记(一), 我们说到利用Hexo快速搭建静态博客. 这节我们就来说一下主题的问题与主题的基本修改操作. 起步 chrome github hexo git node.j ...

  4. Hexo搭建静态博客踩坑日记(一)

    前言 博客折腾一次就好, 找一个适合自己的博客平台, 专注于内容进行提升. 方式一: 自己买服务器, 域名, 写前端, 后端(前后分离最折腾, 不分离还好一点)... 方式二: 利用Hexo, Hug ...

  5. Docker 构建镜像

    Docker 构建镜像 1.首先,在项目的根目录下,新建一个文本文件.dockerignore,写入下面的内容. 下面三行代码表示: 1.这三个路径要排除,不要打包进入 image 文件. 2.如果你 ...

  6. docker 构建镜像 centos7 nginx php

    #docker 构建镜像(Dockerfile) centos 7.4.1078镜像制作 nginx镜像制作(以前面centos7镜像为基础) Nginx+php镜像制作 更多操作实例,查看git里的 ...

  7. hexo博客谷歌百度收录踩坑日记

    title: hexo博客谷歌百度收录踩坑日记 toc: false date: 2018-04-17 00:09:38 百度收录文件验证 无论怎么把渲染关掉或者render_skip都说我的格式错误 ...

  8. Gradle AndroidStudio内网离线构建配置踩坑记录

    最近一家新公司,由于办公环境都是在内网机上,导致在Unity导出android工程后,gradle离线构建也是第一次搞,花了一天时间也踩了一些坑,最后也终于构建成功了,这里记录下,方便大家少走些弯路. ...

  9. Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像)

    Geoserver+Openlayers+MySQL设计思想,GeoServer服务器搭建(Docker构建镜像) 一.geoserver+openlayers+mysql主要设计思想 1.1 Geo ...

  10. React Native Android配置部署踩坑日记

    万事开头难 作为一只进入ECMAScript世界不久的菜鸟,已经被React Native的名气惊到了,开源一周数万星勾起了我浓烈的兴趣.新年新气象,来个HellWorld压压惊吧^_^(故意少打个' ...

随机推荐

  1. Jmeter----Badboy录制

    Badboy Badboy安装后出现错误,需要设置 Preferences-->General-->Enable Recording on Startup?的√去掉,play-->S ...

  2. XML_DOM4J_20200415

    package com.wy.xml; import java.io.File;import java.util.Iterator; import org.dom4j.Attribute; impor ...

  3. Matlab %贰

    第二章 APPLICATIONS OF MATLAB IN ENGINEERING MATLAB Script %:注解 %%:分节符 Relational Operators < <= ...

  4. Visual Studio 2019 专业版许可证过期解决办法

    Visual Studio 2019 许可证过期,登录微软账户也不行,一直提示点击更新许可证,"无法下载许可证,请检查你的网络连接或代理设置" 解决方案:找到VS2019安装目录, ...

  5. h5移动端开发经验积累篇

    h5键盘控制 const el = document.documentElement || document.body const originHeight = el.clientHeight win ...

  6. appium之手机操作的方法

    Appium内置方法,来操作手机.在做app自动化时,可以内置方法的基本上,对一些常用的手机操作进行方法的封装. 常用的方法有: 获取手机分辨率: driver.get_window(size) # ...

  7. 微信小程序分享出去的页面再点进来,如何取值并且在新用户未授权的情况下,授权后跳到当前页面

    1.如何点击分享的页面进来,授权后跳转到当前页面 可以在授权成功后,将openid.头像.昵称入库成功之后,标记一下,及getStorageSync // 通过code获取openid getUser ...

  8. Java 面试手撕代码

    1. 判断括号有效性 public static boolean fun5(String str) { HashMap<Character, Character> hashMap = ne ...

  9. MySQL基础随笔记

    [1]SQL语言入门      我们都知道,数据库管理人员(DBA)通过数据库管理系统(DBMS)可以对数据库(DB)中的数据进行操作,但具体是如何操作的呢?这就涉及到我们本节要讲的SQL语言.SQL ...

  10. Linux & 标准C语言学习 <DAY4>

    一.数据类型     为什么要对数据进行分类         1.现实中的数据就是自带类别属性的         2.对数据进行分类可以节约内存存储空间.提高运行速度     C语言中数据分为两大类别 ...