Docker 安裝 - Windows

在OS X和Windows上安裝需要使用Boot2Docker,這是一個極小的虛擬機,同時提供了一個包裝版本對該虛擬機進行管理;該虛擬機運行一個守護進程,並在OS X和Windows上提供了一個本地的Docker守護進程;Docker的客戶端工具docker可以作爲這些平臺的原生程序安裝,並連接到Boot2Docker虛擬機中運行的Docker守護進程;

>> Docker Windows中下載、安裝、配置

  • Docker官網:https://www.docker.com/get-docker,點開,往下拉:
    這裏寫圖片描述

  • 選擇DockerToolbox下載:
    這裏寫圖片描述

  • 雙擊安裝:
    這裏寫圖片描述

  • 全選,下一步:
    這裏寫圖片描述

  • 選前三個,下一步:
    這裏寫圖片描述

  • 安裝三個
    這裏寫圖片描述
    這裏寫圖片描述
    這裏寫圖片描述

  • finish
    這裏寫圖片描述

  • 桌面出現三個圖標:
    這裏寫圖片描述

  • 驗證安裝:
    雙擊“Docker Quickstart Terminal”;啓動一個終端窗口,自動執行腳本獲取boot2docker.iso到本地路徑“C:\Users\zhaobaolong\.docker\machine\machines\default”

  • 驗證出錯:
    這裏寫圖片描述

  • 重啓電腦,按F1 ,選擇 security --> intel Virtualization Technology --> enable

  • 雙擊ocker Quickstart Terminal,成功
    這裏寫圖片描述

  • $ docker run hello-world
    這裏寫圖片描述

參考鏈接: http://blog.csdn.net/qq2712193/article/details/54576313


>> Docker加速鏡像拉取

使用國內倉庫鏡像服務器來進行鏡像的拉取:

  • 國內DaoCloud鏡像地址:https://www.daocloud.io/
  • 打開鏈接,註冊登錄,點擊加速器,複製Windows下的地址;
  • 修改:/etc/default/docker
  • 命令行下 vi進入目錄:vi /etc/default/docker
  • 添加:DOCKER_OPTS="--registry-mirror="http://ba08868d.m.daocloud.io"(第二步複製的地址)
  • 重啓docker守護進程

>> Docker運行nginx鏡像

從倉庫拉取鏡像:(library表示鏡像是從docker官網鏡像中心同步過來的),點開復制下載地址到命令行執行
這裏寫圖片描述
docker images列出本地鏡像
docker ps列出啓動的容器
docker pull hub.c.163.com/library/nginx:latest拉取nginx鏡像
docker exec -it name/id進入容器內部,exit退出內部;

這裏寫圖片描述
注意: 瀏覽器訪問localhost:port時,無法訪問到容器端口對應的服務,

解決Windows下無法對docker容器進行端口映射的問題:

在安裝了一個Windows下安裝了docker,並嘗試在其中運行Nginx、owncloud等服務,但映射完畢之後,在主機的瀏覽器中,打開localhost:port無法訪問對應的服務。

The reason you’re having this, is because on Linux, the docker daemon (and your containers)
 run on the Linux machine itself, so “localhost” is also the host that the container
  is running on, and the ports are mapped to.

 so only the docker client is running on your Windows machine, 
 but the daemon (and your containers) run in a VirtualBox Virtual Machine, that runs Linux.

原來,docker是運行在Linux上的,在Windows中運行docker,實際上還是在Windows下先安裝了一個Linux環境,然後在這個系統中運行的docker。也就是說,服務中使用的localhost指的是這個Linux環境的地址,而不是我們的宿主環境Windows。我們可以通過命令docker-machine ip default找到這個Linux的ip地址,一般情況下這個地址是192.168.99.100,然後在Windows的瀏覽器中,輸入這個地址,加上服務的端口即可啓用了。


>> 製作自己的鏡像-Jpress

  • dockerfile文件:告訴docker怎樣製作自己的鏡像,製作鏡像的每一步操作分別是什麼;

  • docker build :寫好dockerfile之後,使用docker build命令來執行dockerfile裏面描述的每一件事情,最終構建出docker鏡像;

  • Jpresshttp://jpress.io/ 使用一個開源的Javaweb應用,在此基礎上製作自己的鏡像;

>> 製作步驟:

  • 從官網下載Jpress:http://jpress.io/,放在與dockerfile文件一個文件夾下就可以;
    這裏寫圖片描述

  • https://github.com/JpressProjects/jpress/tree/alpha/wars
    這裏寫圖片描述
    這裏寫圖片描述

  • 從網易鏡像中心下載Tomcat鏡像作爲Javaweb程序的基礎鏡像;
    https://c.163.com/hub#/m/repository/?repoId=3105,下載Docker版本;因爲Tomcat的運行需要用到Java,soTomcat這個鏡像 是包含JDK的;
    這裏寫圖片描述
    這裏寫圖片描述
    這裏寫圖片描述

  • mkdir dockerfile存放目錄

  • cd 目錄

  • vi dockerfile 進入vi (visual interface屏幕編輯器,Linux系統常用的文本編輯器),編輯dockerfile文件內容:

  • from :指定鏡像繼承自哪個基礎鏡像(基礎鏡像就相當於java中的基礎類);因爲程序是Javaweb端的程序,所以就需要用到Tomcat,so從Tomcat作爲基礎鏡像開始自己的鏡像製作;

  • maintainer:鏡像的所有者;包括所有者的名字,聯繫方式等;(可以不寫)

  • copy:將本地一個文件(Javaweb的war包)拷貝到Tomcat的webAPP文件夾下,Tomcat啓動的時候就可以識別這個web應用;或者copy一個目錄;

這裏寫圖片描述
這裏寫圖片描述

這裏寫圖片描述

from hub.c.163.com/library/tomcat

MAINTAINER zhangxuejiao [email protected]

COPY jpress.war /usr/local/tomcat/webapps

編輯完vi 按Esc --> :wq --> 回車;/usr/local/tomcat


>>運行自己的鏡像-Jpress

  • Tomcat也是一個服務,需要對外提供端口;
    -p在本機的端口指定一個8888,Tomcat的默認端口8080,後面加鏡像的名字;
    這裏寫圖片描述

  • Tomcat容器啓動成功,裏面的Jpress啓動成功:
    這裏寫圖片描述

  • 但是使用Jpress還需使用數據庫,本地沒有MySQL數據庫,也不想安裝,可以在docker裏面運行一個MySQL:
    (1)在鏡像中心搜索MySQL,複製地址,命令行pull下載下來;然後運行
    https://c.163.com/hub#/m/repository/?repoId=2955
    命令行輸入:docker pull hub.c.163.com/library/mysql:latest
    這裏寫圖片描述

  • 運行MySQLdocker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=000000
    -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest
    這裏寫圖片描述

  • 在瀏覽器內輸入網址,點擊下一步:
    這裏寫圖片描述

  • 填寫好數據庫連接信息之後點擊下一步:
    這裏寫圖片描述

  • 重啓web容器:
    這裏寫圖片描述
    這裏寫圖片描述

  • 重啓web容器之後,頁面自動跳轉:
    這裏寫圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章