【简单快速解决】docker容器内部无法apt-get?使用host模式并配置apt代理
- 问题描述 :在使用dockerfile生成docker容器并安装所需依赖时apt与apt-get显示IGN,说明docker容器内部apt代理与网络存在问题。
文章目录
简易解决步骤
使用host模式build docker
build使用host模式build docker时:docker build --network host -t myimage .
我是使用当前目录下的Dockerfile建立docker的。
dockerfile中增加语句
这里的/etc/apt/apt.conf.d/proxy.conf
位置与你为主机apt代理配置的一样即可,不清楚的cd进去看找到就行。
RUN echo 'Acquire::http::Proxy "http://192.168.40.1:7890";' >> /etc/apt/apt.conf.d/proxy.conf
RUN echo 'Acquire::https::proxy "http://192.168.40.1:7890";' >> /etc/apt/apt.conf.d/proxy.conf
在http://192.168.40.1:7890
填上你虚拟机所在的局域网,以及你走的代理的端口就行。这里7890是我为了方便git clone等根据我主机的相关代理软件得到的。
docker host原理
(待我学习一下回来补充)
附录
最后附上我的Dockerfile
FROM ubuntu:latest
# 维护者信息
LABEL maintainer="garlic@xxx@aaa.com
RUN echo 'Acquire::http::Proxy "http://192.168.40.1:7890";' >> /etc/apt/apt.conf.d/proxy.conf
RUN echo 'Acquire::https::proxy "http://192.168.40.1:7890";' >> /etc/apt/apt.conf.d/proxy.conf
# 更新包列表并安装所需的库
RUN apt-get update && apt-get install -y \
build-essential \
python3-pip
# 拷贝当前目录下的文件到镜像中的/app目录
COPY . /app
参考链接:
https://www.cnblogs.com/reblue520/p/13492930.html