Docker
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
Windows
1、 安裝docker到我們的電腦,下載地址:
Git工具以前有安裝的話,現在就勾去不裝。
點擊install安裝
2、 下載完畢之后我們安裝好 然后在桌面上會有一個Docker Quickstart Terminal的快捷方式
,我們雙擊打開,如果打不開我們右鍵修改下git地址,這里配置正確的路徑。
打開之后就是這個樣子的:
這個窗口不能shift+insert鍵進行粘貼操作,我不太喜歡這樣玩,我喜歡直接打開git-bash,
輸入命令:
docker-machine ssh default
回車進入docker shell.
我們敲個命令試試docker images 顯示所有鏡像
ok 鏡像全部顯示出來了 docker安裝這個還是沒有什么問題的,至此docker安裝完畢。
3、 為了我們能快速拉取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教程完畢。
































