Dockerfile中更换国内源
场景:在docker中使用Dockerfile的方式进行构建自己的镜像时,发现构建的镜像默认使用国外的源,导致使用自己构造的镜像 启动容器后,在容器中安装软件慢的离谱,而且大多数情况下都会因为连接超时而失败,ubuntu中一个简单的vim都安装不了。那么,就想这在Dockerfile文件构建镜像的初期,就将新的镜像中的源给替换了。操作步骤:第一步:创...
场景:
在docker中使用Dockerfile的方式进行构建自己的镜像时,发现构建的镜像默认使用国外的源,导致使用自己构造的镜像 启动容器后,在容器中安装软件慢的离谱,而且大多数情况下都会因为连接超时而失败,ubuntu中一个简单的vim都安装不了。
那么,就想这在Dockerfile文件构建镜像的初期,就将新的镜像中的源给替换了。
操作步骤:
第一步:
创建自己的测试目录:
sudo mkdir test
第二步:
切换到测试目录下,创建Dockerfile文件
cd test
sudo vim Dockerfile
Dockerfile文件的测试内容如下(这里镜像是基于ubuntu16.04的):
FROM ubuntu:16.04
MAINTAINER author "author@126.com"
ADD sources.list /etc/apt/
RUN apt-get update && apt-get install -y vim && apt-get install -y nginx
EXPOSE 80
第三步:
在test目录下创建sources.list文件,并将阿里的源复制到文件中,然后保存文件
sudo vim sources.list
阿里源文件内容(将以下内容复制到sources.list文件中):
deb http://mirrors.aliyun.com/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ xenial-backports main restricted universe multiverse
注意源中的xenial是ubuntu16.04这个版本所对应的别名,如果采用其他的,则请替换为对应的别名
至此,准备工作基本上结束,下面就是构建镜像
第四步:
构建镜像,在test目录下,执行以下命令
docker build -t="demo/myubuntu:al16.04" .
执行后,你会看到以下内容
Sending build context to Docker daemon 3.072kB
Step 1/6 : FROM ubuntu:16.04
---> 005d2078bdfa
Step 2/6 : MAINTAINER author "author@126.com"
---> Using cache
---> b1e50471f46b
Step 3/6 : ADD sources.list /etc/apt/
---> a6bfbbcbab61
Step 4/6 : RUN apt-get update && apt-get install -y vim && apt-get install -y nginx
---> Running in 4e4317e70e06
Get:1 http://mirrors.aliyun.com/ubuntu xenial InRelease [247 kB]
Get:2 http://mirrors.aliyun.com/ubuntu xenial-security InRelease [109 kB]
Get:3 http://mirrors.aliyun.com/ubuntu xenial-updates InRelease [109 kB]
Get:4 http://mirrors.aliyun.com/ubuntu xenial-backports InRelease [107 kB]
Get:5 http://mirrors.aliyun.com/ubuntu xenial/main amd64 Packages [1558 kB]
Get:6 http://mirrors.aliyun.com/ubuntu xenial/restricted amd64 Packages [14.1 kB]
Get:7 http://mirrors.aliyun.com/ubuntu xenial/universe amd64 Packages [9827 kB]
Get:8 http://mirrors.aliyun.com/ubuntu xenial/multiverse amd64 Packages [176 kB]
构建完毕后,使用 命令docker images 查询镜像,你会看到你刚创建的镜像。
REPOSITORY TAG IMAGE ID CREATED SIZE
demo/myubuntu al16.04 8e1742c79939 18 minutes ago 260MB
至此,镜像构建完毕。
第五步:
测试镜像是否正常使用,因为这个镜像初始化时,已经安装了nginx和vim,因此,此处使用nginx来测试:
docker run -d -p 8081:80 --name testMyubuntu demo/myubuntu:al16.04 nginx -g "daemon off;"
然后在浏览器中访问地址:http://127.0.0.1:8081 ,看到如下界面,表示成功使用容器启动nginx镜像了。
更多推荐
所有评论(0)