日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

深入浅出 Docker

發布時間:2024/3/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 深入浅出 Docker 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、什么Docker

  • 從作用的角度:
Docker是一個為開發人員和系統管理員開發、遷移和運行應用程序的平臺。應用程序通過Docker打包成Docker Image后,可以實現統一的方式來下載、啟動、擴展、刪除和遷移,這樣方便了應用程序的部署和運維。
  • 從實現的角度(與虛擬機相比):
  • 相同:虛擬機與容器都能夠虛擬化計算機資源從而提高資源利用率,實現應用隔離與資源獨立。
  • ?  ?2. 容器和虛擬機之間的主要區別在于虛擬化層的位置和操作系統資源的使用方式。?

      [對于java開發,要想實現程序的打包和遷徙,我們現有的模式是在一個服務器上安裝統一一個jdk,運行多個tomcat,每個tomcat里面一個java應用,大家也知道tomcat不用安裝,當我們項目要遷徙的時候也只需要把整個tomcat打包然后在另一臺服務器上解壓就ok了,也很簡單]?

      每臺虛擬機都能夠獲得唯一的操作系統和負載(應用程序),每個容器化應用都會共享相同的操作系統(單個主機操作系統)

      相比于虛擬機,容器擁有更高的資源使用效率,因為它并不需要為每個應用分配單獨的操作系統——實例規模更小、創建和遷移速度也更快。云提供商十分熱衷于容器技術,因為在相同的硬件設備當中,可以部署數量更多的容器實例 。

    二、基于docker的wordpress博客搭建 ? 小例子

    • 一、?項目介紹

    1、簡介

    docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。

    本項目使用Docker搭建了一個WordPress應用,基礎架構包含一個Nginx服務器來路由/代理請求、WordPress應用服務器 來部署應用以及MySQL數據庫來提供存儲。

    本項目的搭建環境使用騰訊云平臺的云服務器,系統版本為ubuntu 64位。

    2、架構

    構建一個簡單的基礎框架,其上運行一個WordPress的自包含實 例,WordPress是被全世界很多公司和作家使用的流行博客工具。這個基礎架構包含一個Nginx服務器來路由/代理請求,WordPress應用服 務器來部署應用以及MySQL數據庫來提供存儲。最終的架構類似于:?

    • 二、?實施過程

    1、安裝虛擬機和ubuntu系統

    ?下載VMware Workstation Pro安裝,新建虛擬機并安裝ubuntu系統。

    ?進入terminal并獲得root權限。

    ?

    2安裝docker環境

    使用百度的命令進行軟件安裝。

    ?

    3查看docker信息

    通過docker info 命令可以查看當前docker的運行信息。

    (提示:Cannot connect to the Docker daemon. Is the docker daemon running on this host?

    可以使用serivce docker start來啟動docker服務。)

    4配置docker加速器

    由于docker自帶的鏡像源在國外,下載鏡像的速度不理想。所以可以使用國內的鏡像源進行加速,如daocloud的倉庫。

    ?curl?-sSL?https://get.daocloud.io/daotools/set_mirror.sh?|?sh?-s?http://acef54a4.m.daocloud.io?

    5創建數據庫容器

    容器名為wordpress-db, 同時設置數據庫密碼。

    docker?run?--name?wordpress-db?-e?MYSQL_ROOT_PASSWORD=mysecretpassword?-d?mysql

    ?

    參數的含義如下:

    -name表示分配給新容器的名字(或者標簽)

    -e設置容器的環境變量,指定MySQL實例的密碼,已有配置文檔可以在MySQL Docker Hub中找到。

    -d指定Docker在后臺運行容器。

    ?

    6創建wordpress容器

    ?

    docker run --name wordpress-app --link wordpress-db:mysql -d wordpress

    -link wordpress-db:mysql這個參數告訴Docker創建網絡連接到wordpress-db容器(之前創建出來的),使得兩個容器間能夠網絡通信。

    查看容器的狀態

    docker ps

    ?

    進入wordpress中使用ping命令,確認wordpress已經連接上數據庫。

    docker exec -i -t wordpress-app bash

    ping mysql

    ?

    7安裝配置nginx容器

    使用nginx作為web訪問的代理,配置文件。

    cd /usr/local?????//進入該目錄

    mkdir wordpress-nginx????//定義名為wordpress-nginx子目錄

    cd /usr/local/wordpress-nginx???.//進入該目錄

    vi default.conf??????????//定義名為default.conf文件

    ?

    #Default.conf 這是nginx的配置文件

    server {

    listen ??????80;

    server_name ?localhost;

    error_log /var/log/nginx/error.log warn;

    location / {

    ????proxy_pass http://wordpress-app:80/;

    ????proxy_redirect http://server_name http://wordpress-app:80/;

    ????proxy_set_header ??Host ??????????????$host;

    ????proxy_set_header ??X-Forwarded-For ???$proxy_add_x_forwarded_for;

    ????proxy_set_header ??X-Forwarded-Proto ?http;

    }

    error_page ??500 502 503 504 ?/50x.html;

    location = /50x.html {

    ????root ??/usr/share/nginx/html;

    ?}

    }

    ?

    使用Dockerfile來安裝nginx

    vi Dockerfile

    # this is Dockerfile Infomation

    FROM nginx

    COPY default.conf /etc/nginx/conf.d/default.conf

    ?接著

    ?

    安裝nginx并啟動

    docker build -t wordpress-nginx .

    docker run -d --name=wordpress-nginx --link=wordpress-app:wordpress-app -p 80:80 wordpress-nginx

    指定了參數-p 80:80,這是告訴Docker暴露容器的80端口,這樣可以從Docker的宿主機器外部訪問該容器。

    docker?ps

    我們指定了參數-p 80:80,這是告訴Docker暴露容器的80端口,這樣可以從Docker的宿主機器外部訪問該容器。?

    ?

    8web瀏覽器訪問并安裝

    • 三、?項目總結

    ?通過本次項目實踐,對Linux中Docker技術有了初步的認知,實施過程中出現了一系列問題包括虛擬機操作系統安裝失敗,用vi命令新建文件時命令不會使用,按照阿里云安裝文檔安裝docker加速器時失敗等等等,不過通過上網搜索資料,詢問同學等方式解決了,特別感謝林輝同學的指導。

    整個環境的搭建用了兩天左右的時間,對我們嚴謹科研態度和團隊協作能力的培養有了很大幫助,另外對于虛擬機、linux系統、docker技術實現應用隔離與資源獨立的優點等知識點都有了初步認識,對后續的深入學習具有很大的幫助。

    ?

    參考網址:http://www.open-open.com/lib/view/open1423537959420.html

    轉載于:https://www.cnblogs.com/simpleDi/p/6024901.html

    總結

    以上是生活随笔為你收集整理的深入浅出 Docker的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。