一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

云服務器|WEB服務器|FTP服務器|郵件服務器|虛擬主機|服務器安全|DNS服務器|服務器知識|Nginx|IIS|Tomcat|

服務器之家 - 服務器技術 - 服務器知識 - 利用docker搭建web服務環境的方法步驟

利用docker搭建web服務環境的方法步驟

2021-02-02 17:30chenishr 服務器知識

這篇文章主要給大家介紹了關于利用docker搭建web服務環境的方法步驟,文中通過是示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習下吧。

前言

做過開發的人對開發環境的安裝、配置應該都不會太陌生,不管你做什么開發,對開發環境都會具有一定的依賴性的。對于 PHP 的 Web 開發來說,開發環境至少要有一個 Web 服務器(如 Apache、Nginx)、一個數據庫服務器(如 MySQL)和一個 PHP 解析器吧,如果你的 PHP 代碼使用的一些擴展,那你還需要給你的 PHP 安裝上這些擴展,那樣你的 PHP 代碼才能夠順利地跑起來。對于一個只想靜靜地敲代碼的開發人員來說,開發環境的安裝與配置這種事情,只要經歷一次就已經很折騰人了。可是,事情往往不能按人們的意愿進行的,你保不準會重裝下系統,也保不準會換一個新的環境。總之就是,你會偶爾需要重新安裝配置你的的開發環境!

你可以回想一下,上一次安裝配置你的開發環境花費了多少時間,你所需要的 PHP 擴展是不是到運行時報錯了才記起來沒安裝的呢?還好,自從有了 Docker 之后,媽媽再也不用擔心我的開發環境的問題了。使用 Docker ,開發環境只需要安裝配置一次,之后搭建相同的開發環境很簡單,只需要一條命令即可完成!

這就是本文的目的,介紹 Docker 下安裝配置 Web 的服務環境,實現一次安裝配置,多次重用、跨平臺重用的功能。

Docker 概述

Docker 是什么?可以將 Docker 理解為打包環境的容器,它可以將環境打包成鏡像,在需要的時候,再基于該鏡像來創建容器,這樣所需要的環境就回來了。剛剛提到了 Docker 的兩大核心概念,鏡像和容器。

Docker鏡像是為了滿足特殊用途而按照Docker的規則制作的應用,有點兒類似于Win-dows里面的安裝軟件包。容器都是基于鏡像而創建的,基于一個鏡像可以創建若干個名字不同但功能相同的容器。鏡像是靜態的,容器是動態的。

除了鏡像和容器之外,還有兩個概念需要了解一下的,那就是倉庫和 docker-compose。Docker 倉庫是存放鏡像的地方,我們可以從 Docker 倉庫中拉取鏡像到本地,然后再基于鏡像創建容器。docker-compose 是管理容器的。Docker 的思想是一個容器只做一件事情,一個開發環境中可能會使用到多個容器,比如 Web 服務環境會使用到 PHP 、Nginx、MySQL 等等。那么一個 Web 服務環境就需要有三個容器,并且這些容器之間是存在依賴關系的,Nginx 依賴 PHP,PHP 依賴 MySQL。有了 docker-compose 就可以很好地管理這些容器了,它可以根據容器之間的依賴關系來決定每個容器的啟動順序和關閉順序,可以管理各容器與宿主機器之間的端口映射關系,也可以配置容器與宿主機器之間的數據共享策略等等。

國內的鏡像倉庫

由于地理位置的原因,國內訪問 Docker 的官方倉庫是比較慢的,所以在這里介紹一個國內的 Docker 倉庫:靈雀云。靈雀云鏡像倉庫中匯集了大量來自社區的優質作品,讓用戶組合、復用容器化微服務,輕松搭建新一代云端應用。

搭建 Web 服務環境

本文的重點是使用 Docker 搭建一套 Web 服務環境,如果在你的環境中還沒有安裝 Docker,可以參考這里自行安裝。

安裝了 Docker 之后,搭建 Web 服務環境就很簡單了,只需要一個文件,一條命令即可!

一個文件: docker-compose.yml

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
nginx:
 image: index.alauda.cn/library/nginx
 links:
 - phpfpm
 ports:
 - "80:80"
 - "443:443"
 volumes:
 - /Users/chenishr/www:/usr/share/nginx/html
 - ./nginx.conf:/etc/nginx/nginx.conf
 - ./nginx.d:/etc/nginx/conf.d
 
mysql:
 image: index.alauda.cn/library/mysql
 environment:
 MYSQL_ROOT_PASSWORD: qazasdedc123
 ports:
 - "3306:3306"
 
phpfpm:
 image: index.alauda.cn/library/php:7.0-fpm
 links:
 - mysql
 volumes:
 - /Users/chenishr/www:/var/www/html
 ports:
 - "9000:9000"

上面的文件內容很簡單,它定義了三個容器,分別是 nginx、mysql 和 phpfpm 。每個容器定義里包含了一些信息,這里簡單介紹一下。

  • image:這個字段表示該容器是基于那個鏡像來創建的
  • links:表示在該容器內部需要訪問那個其它的容器,該名字在容器內部的表現類似于域名,它會綁 定對應容器的 IP
  • ports:將容器內部的端口映射到宿主機器中
  • volumes:配置容器與宿主機器的共享文件或者目錄

一條命令

有了上面的 docker-compose.yml 文件之后,只需要一條命令即可啟動所有的容器,也就是搭建好了整個 Web 服務環境了!

?
1
docker-compose up -d

最后

有了 Docker 之后,搭建環境從未有過如此簡單。

本文只是介紹了 Docker 的最基本的應用而已,它還很多用途而不僅限于本文。它可以實現多種版本的軟件并存同時工作,比如,我可以在一個電腦上同時使用 PHP7 和 PHP5 而不會造成混淆。當然,還有其它的 …

好了,以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對服務器之家的支持。

原文鏈接:https://segmentfault.com/a/1190000011157447

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 操双性人 | 国产玖玖在线观看 | 亚洲国产成人精品无码区APP | 风间由美理论片在线观看 | 国内精品免费一区二区三区 | 国产按摩系列 | 青青热久麻豆精品视频在线观看 | 美女扒开腿让男生桶爽漫画 | 九九99香蕉在线视频美国毛片 | 久久久久嫩草影院精品 | 成人性生交大片免费看软件 | 999久久久免费精品国产牛牛 | 精品日本一区二区 | 亚洲成综合人影院在院播放 | 国产在线三级 | 欧美理论片手机在线观看片免费 | 高跟翘臀老师后进式视频 | 亚洲免费视频播放 | 国内精品久久久久久久久 | 美女大乳被捏羞羞漫画 | 亚洲国产成人在人网站天堂 | 久久亚洲精品中文字幕60分钟 | 久久精品一卡二卡三卡四卡视频版 | 色综色天天综合网 | 日本情趣视频 | 欧美精选欧美极品 | 国产福利资源网在线观看 | 国产欧美视频高清va在线观看 | 91久久国产青草亚洲 | 美女在尿口隐私视频 | bedfriend泰剧全集免费观看 | 成人影院视频 | 经典三级四虎在线观看 | 日本一道高清不卡免费 | 国产成人刺激视频在线观看 | 好姑娘在线观看完整版免费 | 99视频在线国产 | 96av视频在线观看 | 国产精品区一区二区免费 | 免费观看a毛片一区二区不卡 | 精品免费 |