在linux下面的話不用跑vm就可以直接開一個環境
比之前方便很多
不用看VM在那邊吃記憶體跟CPU
雖然docker本身也會吃XD
是的
這個標題是從昨天的內容複製貼上過來的
從Dockerfile去把docker image編譯起來
也算是一種infrastructure as code
而且每次建立起來的image都是新的環境
所以可以確定環境的獨立性
不會被之前作過的操作所影響
如果你要處理多個容器之間的連結
直接使用docker會感覺很麻煩
這時候就能使用docker-compose來作整合
可以把設定檔整合成一個yaml檔案
一次看懂你的系統要用到哪些service 跟image
也能直接設定好容器之間的連結
# Drupal with PostgreSQL
#
# Access via "http://localhost:8080"
# (or "http://$(docker-machine ip):8080" if using docker-machine)
#
# During initial Drupal setup,
# Database type: PostgreSQL
# Database name: postgres
# Database username: postgres
# Database password: example
# ADVANCED OPTIONS; Database host: postgres
version: '3.1'
services:
drupal:
image: drupal:8.2-apache
ports:
- 8080:80
volumes:
- /var/www/html/modules
- /var/www/html/profiles
- /var/www/html/themes
# this takes advantage of the feature in Docker that a new anonymous
# volume (which is what we're creating here) will be initialized with the
# existing content of the image at the same location
- /var/www/html/sites
restart: always
postgres:
image: postgres:9.6
environment:
POSTGRES_PASSWORD: example
restart: always
https://docs.docker.com/samples/library/drupal/#-via-docker-stack-deploy-or-docker-compose
Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。https://www.kubernetes.org.cn/k8s
上面的docker-compose只限於在一台電腦裡面處理
當你需要用到cluster的狀況時
就要搭配Kubernetes 俗稱k8s來協助處理
docker 本身有推出Docker-swarm
但是一直沒打下市場
反倒是google 推動的k8s越來越多人用
現在在google cloud platform 上面的container container engine
更是直接改名成container Kubernetes engine
直接支援k8s的功能
之前就有支援啦
只是名字直接改成Kubernetes就更明顯了
而AWS也直接推出Amazon EKS
顯示出google,aws兩大雲端服務都已經覺得Kubernetes比較會有市場了
https://github.com/Chalarangelo/30-seconds-of-code
可以看很多功能可以用怎樣簡短的方式去實作
有興趣可以看一輪
但是要用還是要考慮一下相容性
因為大部分都使用到ES6的特性了
https://github.com/fripig/article_log/issues/423