Docker實例教程[超詳細](一)

Docker

     Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。html

Windows

一、 安裝docker到咱們的電腦,下載地址:nginx

http://7xawqb.com2.z0.glb.qiniucdn.com/docker/toolbox/releases/download/v1.11.2/DockerToolbox-1.11.2.exegit

clip_image001

clip_image002

Git工具之前有安裝的話,如今就勾去不裝。github

clip_image003

clip_image004

點擊install安裝docker

二、 下載完畢以後咱們安裝好 而後在桌面上會有一個Docker Quickstart Terminal的快捷方式clip_image005,咱們雙擊打開,若是打不開咱們右鍵修改下git地址,這裏配置正確的路徑。shell

clip_image006

打開以後就是這個樣子的:vim

clip_image008

這個窗口不能shift+insert鍵進行粘貼操做,我不太喜歡這樣玩,我喜歡直接打開git-bash,windows

clip_image009

輸入命令:centos

docker-machine ssh default

 

回車進入docker shell.瀏覽器

clip_image011

clip_image013

咱們敲個命令試試docker images 顯示全部鏡像

clip_image015

ok 鏡像所有顯示出來了 docker安裝這個仍是沒有什麼問題的,至此docker安裝完畢。

三、 爲了咱們能快速拉取docker鏡像,咱們選擇https://account.daocloud.io/signin

國內鏡像,用dao命令,這裏須要到daocloud.io註冊一個帳號

clip_image017

還能夠用github 微信帳號關聯登錄:

clip_image018

我已經註冊好了,我就直接登錄進去了,登錄以後咱們看到首頁:

clip_image020

咱們點擊加速器:

clip_image022

咱們點擊當即開始:

clip_image024

跳到了個人集羣,其實也能夠在主界面直接進去到集羣裏面的,咱們選擇windows:

clip_image026

前面兩步咱們已經執行完畢了,咱們直接選擇安裝好了,跳出以下界面,拷貝代碼到咱們的命令行下執行,咱們打開git-bash執行

docker-machine ssh default

,緊接着拷貝下面的代碼,每一個人的都不同,注意區別。

clip_image028

執行完畢後,咱們就能運行dao命令了,咱們打個dao試試。

clip_image030

緊接着咱們到咱們的daocloud.io裏面進入到鏡像倉庫裏面,daocloud(這個列別裏面的鏡像就在daocloud服務器,很快!)鏡像搜索centos,咱們點擊進去:

clip_image032

clip_image033

看到下面鏡像拉取說明,咱們拉一下centos7,咱們把命令改寫成

dao pull daocloud.io/centos:7

,這樣比較快。

clip_image035

正在多線程拉取拉取!拉取完畢。

clip_image037

咱們docker images看看是否拉取成功了。

clip_image039

咱們啓動容器shell交互,爲了簡單演示,下面使用yun install 方式搭建一個簡單的nginx環境。

咱們運行命令:

docker run –i t –name nginx_test[這個名字能夠隨便起] 904d6c400333[IMAGE ID] /bin/bash

 回車

clip_image040

進入到咱們的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 .

clip_image042

clip_image044

打包完成,咱們下面運行{docker images}看看鏡像有沒有生成:

clip_image046

生成好了!

docker run -d -p 8090:80 nginx:v1

clip_image048

端口也是綁定成功的。

clip_image050

打開瀏覽器 輸入192.168.99.100:8090,看看是否打開了nginx的頁面:

clip_image052

由於宿主ip是一個虛擬網卡上的ip因此要經過此ip訪問,能夠ifconfig查看宿主ip。

咱們也能夠靜態網頁爲宿主內的地址:

在此以前先中止掉以前的容器,docker ps 查看正在運行的docker,而後docker stop container id。

clip_image054

再次運行命令:

docker run -d -p 8090:80 -v /logs:/var/log/nginx -v /www:/usr/share/nginx nginx:v1

clip_image055

編寫內容

clip_image056

瀏覽器訪問:

clip_image057

至此 docker教程完畢。

相關文章
相關標籤/搜索