網(wǎng)站測試的基本Dockerfile:
FROM ubuntu:14.04
MAINTAINER James Turnbull "james@example.com"
ENV REFRESHED_AT 2014-06-01
RUN apt-get update
RUN apt-get -y -q install nginx
RUN mkdir -p /var/www/html/website
ADD nginx/global.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/
EXPOSE 80
這個文件內(nèi)容就是:
- 安裝Nginx
- 在容器中創(chuàng)建一個目錄/var/www/html/website/
- 將Nginx配置文件復制到鏡像中
- 公開鏡像的80端口
配置文件可以從書籍的官網(wǎng)上獲取硕舆,/var/www/html/website被配置為網(wǎng)絡服務的根路徑漫试。
構建Nginx測試容器:
sudo docker run -d -p 80 --name website -v $PWD/website:/var/www/html/website jamtir01/nginx nginx
-v選項將宿主機的目錄作為卷琼蚯,掛載到容器里,index.html即保存在這個目錄中。
在執(zhí)行上述命令更新軟件源時,可能速度超慢怖喻,畢竟用的國外的源地址很洋,更換為國內(nèi)鏡像(如163充蓝,aliyun)后,出現(xiàn)網(wǎng)址無法解析的問題喉磁,我索性:
- 將鏡像中軟件源更換掉谓苟,即更改文件/etc/apt/sources.list的內(nèi)容,我將能用的sources.list(可以直接復制系統(tǒng)中該文件协怒,但要注意Ubuntu版本應與鏡像一直涝焙,否則還需修改)放入目錄apt中,構建鏡像時覆蓋掉鏡像中的該文件孕暇。
- 更改鏡像的中DNS服務器仑撞,修改系統(tǒng)中/etc/default/docker文件,將DNS地址修改為能用的本地DNS服務器地址妖滔,下圖中的114.114.114.114據(jù)說適合于國內(nèi)移動派草、聯(lián)通、電信網(wǎng)铛楣,注意更改后要重啟docker服務近迁。
修改/etc/default/docker
所以我的Dockerfile為:
FROM ubuntu:14.04
MAINTAINER James Turnbull "james@example.com"
ENV REFRESHED_AT 2014-06-01
RUN rm /etc/apt/sources.list
ADD apt/sources.list /etc/apt/
RUN apt-get update
RUN apt-get -y -q install nginx
RUN mkdir -p /var/www/html/website
ADD nginx/global.conf /etc/nginx/conf.d/
ADD nginx/nginx.conf /etc/nginx/
EXPOSE 80
如此便可順利更新軟件源并安裝Nginx。