Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。html
一、 安裝docker到咱們的電腦,下載地址:nginx
Git工具之前有安裝的話,如今就勾去不裝。github
點擊install安裝docker
二、 下載完畢以後咱們安裝好 而後在桌面上會有一個Docker Quickstart Terminal的快捷方式,咱們雙擊打開,若是打不開咱們右鍵修改下git地址,這裏配置正確的路徑。shell
打開以後就是這個樣子的:vim
這個窗口不能shift+insert鍵進行粘貼操做,我不太喜歡這樣玩,我喜歡直接打開git-bash,windows
輸入命令:centos
docker-machine ssh default
回車進入docker shell.瀏覽器
咱們敲個命令試試docker images 顯示全部鏡像
ok 鏡像所有顯示出來了 docker安裝這個仍是沒有什麼問題的,至此docker安裝完畢。
三、 爲了咱們能快速拉取docker鏡像,咱們選擇https://account.daocloud.io/signin
國內鏡像,用dao命令,這裏須要到daocloud.io註冊一個帳號
還能夠用github 微信帳號關聯登錄:
我已經註冊好了,我就直接登錄進去了,登錄以後咱們看到首頁:
咱們點擊加速器:
咱們點擊當即開始:
跳到了個人集羣,其實也能夠在主界面直接進去到集羣裏面的,咱們選擇windows:
前面兩步咱們已經執行完畢了,咱們直接選擇安裝好了,跳出以下界面,拷貝代碼到咱們的命令行下執行,咱們打開git-bash執行
docker-machine ssh default
,緊接着拷貝下面的代碼,每一個人的都不同,注意區別。
執行完畢後,咱們就能運行dao命令了,咱們打個dao試試。
緊接着咱們到咱們的daocloud.io裏面進入到鏡像倉庫裏面,daocloud(這個列別裏面的鏡像就在daocloud服務器,很快!)鏡像搜索centos,咱們點擊進去:
看到下面鏡像拉取說明,咱們拉一下centos7,咱們把命令改寫成
dao pull daocloud.io/centos:7
,這樣比較快。
正在多線程拉取拉取!拉取完畢。
咱們docker images看看是否拉取成功了。
咱們啓動容器shell交互,爲了簡單演示,下面使用yun install 方式搭建一個簡單的nginx環境。
咱們運行命令:
docker run –i t –name nginx_test[這個名字能夠隨便起] 904d6c400333[IMAGE ID] /bin/bash
回車
進入到咱們的centos容器,咱們能夠在這個裏面搭建docker,搭建完畢以後,經過Dockerfile來build一個鏡像,也能夠一次性寫一個Dockerfile,咱們下面採用一次性編寫Dockerfile的方式進行。
新建Dockerfile文件,寫入以下內容:
FROM daocloud.io/centos:7 # Install Nginx. # WORKDIR /etc/yum.repos.d/ ADD nginx.repo /etc/yum.repos.d/ RUN \ yum update -y && \ yum install -y wget && \ # wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && \ wget -O /etc/yum.repos.d/CentOs-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo && \ yum makecache && \ yum update -y && \ yum install -y vim && \ yum install -y nginx && \ yum install -y net-tools && \ echo "daemon off;" >> /etc/nginx/nginx.conf && \ echo "master_process off;" >> /etc/nginx/nginx.conf # Define mountable directories. VOLUME ["/usr/share/nginx", "/etc/nginx/conf.d", "/var/log/nginx"] # Define working directory. WORKDIR /etc/nginx # Define default command. CMD ["/usr/sbin/nginx"] # Expose ports. EXPOSE 80 EXPOSE 443
編寫nginx.repo文件:
# nginx.repo [nginx] name=nginx repo baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enabled=1
運行以下命令:
docker build -t nginx:v1 .
打包完成,咱們下面運行{docker images}看看鏡像有沒有生成:
生成好了!
docker run -d -p 8090:80 nginx:v1
端口也是綁定成功的。
打開瀏覽器 輸入192.168.99.100:8090,看看是否打開了nginx的頁面:
由於宿主ip是一個虛擬網卡上的ip因此要經過此ip訪問,能夠ifconfig查看宿主ip。
咱們也能夠靜態網頁爲宿主內的地址:
在此以前先中止掉以前的容器,docker ps 查看正在運行的docker,而後docker stop container id。
再次運行命令:
docker run -d -p 8090:80 -v /logs:/var/log/nginx -v /www:/usr/share/nginx nginx:v1
編寫內容
瀏覽器訪問:
至此 docker教程完畢。