国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

還為重復安裝開發環境而煩嗎? 這或許是更好的解決方案 —— docker

whatsns / 3037人閱讀

摘要:工欲善其事必先利其器開始進行開發之前,都需要搭建好基本的開發環境個人用到的有搭建環境不同的方式使用一個個安裝腳本一鍵安裝包源碼編譯上面的解決方案都有一個共同的缺點一旦系統重裝,需要重新安裝配置有多臺電腦時,開發環境版本容易不一致沒有版本控制

工欲善其事必先利其器

開始進行web開發之前,都需要搭建好基本的開發環境.
個人用到的有nginx、redis、mysql、node.js.

搭建環境不同的方式

使用apt(ubuntu)、brew(mac os)一個個安裝

腳本: LNMP一鍵安裝包

源碼編譯

上面的解決方案都有一個共同的缺點

一旦系統重裝,需要重新安裝、配置(有多臺電腦時,開發環境版本容易不一致)

沒有版本控制系統,軟件配置維護麻煩

更好的解決方案 —— docker

基于 docker(18.03以上)搭建nginx、 redis 、mysql 服務。

項目結構
.
├── .env            # 默認為dev的環境變量
├── .gitignore
├── README.md
├── container       # 不同容器的配置文件
│?? ├── mysql
│?? │?? └── docker-compose.yml
│?? ├── nginx
│?? │?? ├── conf
│?? │?? ├── docker-compose.prod.yml
│?? │?? └── docker-compose.yml
│?? └── redis
│??     └── docker-compose.yml
└── prod           # prod的環境變量
    └── .env

docker-compose 在運行時會使用當前目錄下的.env文件,
并且不支持指定env文件,所以需要多個不同環境時,只能在對應文件夾下建立.env文件

項目內容

通過.env文件配置整個項目所需要的環境變量

# file .env
# 項目名稱
COMPOSE_PROJECT_NAME=site
# compose文件
COMPOSE_FILE=container/nginx/docker-compose.yml:container/mysql/docker-compose.yml:container/redis/docker-compose.yml
# mysql config
MYSQL_ROOT_PASSWORD=123456
MYSQL_DATABASE=demo
# redis config
REDIS_PASSWORD=123456
# 自定義環境變量 本地服務器 IP
SITE_IP=host.docker.internal # host.docker.internal需要18.03以上版本 

以nginx的 docker-compose.yml 文件為例:
${SITE_IP}將被替換成host.docker.internal, $${SITE_IP}將不會被替換

version: "3"
services:
  nginx:
    image: nginx
    volumes:
      - ./conf/dev.template:/etc/nginx/conf.d/dev.template
    ports:
      - "80:80"
    environment:
      - SITE_IP=${SITE_IP}
    command: /bin/bash -c "envsubst "$${SITE_IP}"< /etc/nginx/conf.d/dev.template > /etc/nginx/conf.d/dev.conf &&  exec nginx -g "daemon off;""
    networks:
      - default
      - network_site
networks:
  network_site:
    driver: bridge

其他鏡像的配置可以從dockerhub查看redis、mysql

啟動全部
// dev模式
docker-compose up

// prod模式,使用 prod下的.env文件
cd ./prod && docker-compose up
多帶帶啟動
docker-compose up nginx
docker-compose up mysql
docker-compose up redis
停止
# 停止某個服務
docker-compose stop nginx 
# 停止全部
docker-compose stop

具體配置請從github倉庫查看
通過使用docker,我們只需要一個repository存放配置, 便可以在多臺電腦上迅速安裝環境.

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27684.html

相關文章

  • 有助于機器學習7個云計算服務

    摘要:用于機器學習人工智能數據分析的基于云計算的工具日前增多。亞馬遜公司創建了,以簡化使用其機器學習工具的工作。用于機器學習、人工智能、數據分析的基于云計算的工具日前增多。其中的一些應用是在基于云計算的文檔編輯和電子郵件,技術人員可以通過各種設備登錄中央存儲庫,并在遠程位置,甚至在路上或海灘上進行工作。云計算可以處理文件備份和同步,簡化工作流程。數據分析是很多組織在云計算平臺進行的一項主要計算工作...

    stonezhu 評論0 收藏0
  • 這或許是東半球講十大排序算法最好一篇文章

    摘要:希爾排序希爾排序這個名字,來源于它的發明者希爾,也稱作縮小增量排序,是插入排序的一種更高效的改進版本。我們可以發現,當區間為的時候,它使用的排序方式就是插入排序。 冒泡排序 冒泡排序無疑是最為出名的排序算法之一,從序列的一端開始往另一端冒泡(你可以從左往右冒泡,也可以從右往左冒泡,看心情),依次比較相鄰的兩個數的大小(到底是比大還是比小也看你心情)。 showImg(https://s...

    wind3110991 評論0 收藏0
  • 目前國內流行三種PHP框架,你都知道嗎?

    摘要:是編程里面非常流行的語言,到現在為止,已經誕生了幾十種框架,但是在國內以下三個框架使用率才是最高的。跨站請求偽造是一種常見的攻擊手段,但是有了可以將這種攻擊拋之門外。 php是WEB編程里面非常流行的語言,到現在為止,已經誕生了幾十種PHP框架,但是在國內以下三個框架使用率才是最高的。ThinkPHP showImg(https://segmentfault.com/img/bVL1s...

    kidsamong 評論0 收藏0
  • 35歲,一個團隊leader,從工作滿8年公司離職,選擇重新嘗試新機會,或許35歲才是起點。

    摘要:面試從開始準備到一直到年月份,面試現在這家公司,大概經歷了年半的時間。后邊也證明自己選擇是對的。,,,,等也是測試必備的工具技能,這些雖然不是很難,但也是常用必備的技能。 ...

    SoapEye 評論0 收藏0
  • 外企產品開發是怎樣

    摘要:從公司層面講,也不能以產品進行團隊劃分,比如騰訊,可以用一個游戲劃分一個團隊,但是在,除了大產品模塊的劃分比如桌面端產品,端產品,其他業務產品,其實沒有具體的產品團隊,更多的是開發團隊,而開發團隊內部才劃分到具體的產品線上。 從大學開始接觸Web開發,到現在已經是第9個年頭了,但是感覺自己才剛剛開始入門。特別是開發模式(這個稱法待議),不同的公司不一樣,團隊結構,團隊合作方式都有很大的...

    Soarkey 評論0 收藏0

發表評論

0條評論

whatsns

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<