這是在mac上的一次從零開始學docker的實踐,如果想知道的更多,請閱讀官方文件或者docker —— 從入門到實踐,本文的核心科技是動手。
docker是基於linux container技術的,並不支援原生的mac系統,mac上的docker是執行於乙個linux虛擬機器內的。所以可以在mac上裝個virtualbox,然後安裝乙個linux發行版(例如coreos),之後所有的操作就在linux中進行了。但是這種方法操作起來太麻煩了,我可不想每次使用docker的時候都啟動virtualbox,然後啟動linux虛擬機器,再ssh到虛擬機器上,能不能讓程式自動的執行這一系列操作。
還好已經有這樣的程式了,boot2docker是你的好幫手^_^。
使用homebrew安裝boot2docker:
程式會自動安裝docker客戶端和boot2docker,網路不好的話喝杯咖啡再回來看看,不行的話多試幾次,位址被牆的話請科學上網。shell
$ brew install boot2docker
初始化boot2docker:
啟動boot2docker:shell
$ boot2docker init
顯示環境變數:shell
$ boot2docker start
顯示的結果會和你的電腦上的結果不同。shell
$ boot2docker shellinit
writing /users/wzy/.boot2docker/certs/boot2docker-vm/ca.pem
writing /users/wzy/.boot2docker/certs/boot2docker-vm/cert.pem
writing /users/wzy/.boot2docker/certs/boot2docker-vm/key.pem
export docker_host=tcp:
export docker_cert_path=/users/wzy/.boot2docker/certs/boot2docker-vm
export docker_tls_verify=1
設定環境變數:
這個設定只針對當前會話有效,當你重新開啟乙個會話後必須再次設定。shell
$ eval "$(boot2docker shellinit)"
或者直接修改.bashrc
或者.zshrc
,新增boot2docker shellinit
結果中的export語句。
執行docker version
沒有任何錯誤的話,說明docker客戶端環境已經配置好了,接下來就可以使用docker了。
下面我們在docker中啟動乙個nginx伺服器。
shell
$ docker run -d -p --name web nginx
檢視正在執行的docker容器。shell
$ docker ps
檢視埠的對映關係。shell
$ docker port web
443/tcp -> 0.0.0.0:49153
80/tcp -> 0.0.0.0:49154
通過瀏覽器開啟localhost:49154
,發現無法訪問,這並不是伺服器沒有啟動,而是docker埠對映中的0.0.0.0
並非是我們的電腦,而是執行docker的linux虛擬機器,即docker將nginx監聽的80埠對映到了虛擬機器的49154埠,我們要訪問的是虛擬機器的49154埠,虛擬機器的位址可以通過命令boot2docker ip
獲得。
訪問shell
$ boot2docker ip
192.168.59.103
192.168.59.103:49154
即可。
停止並刪除容器:
到這裡我們已經親自感受了docker,下面還需要進一步學習。shell
$ docker stop web
$ docker rm web
開始使用Unix
本人使用的macbook pro md101,通過mac的終端登入到unix系統。登入unix系統 首先在終端中輸入login,然後終端會顯示login 然後輸入使用者標識,按return後,會顯示password 輸入密碼即可登入,隨後會顯示上次登入的時間以及使用的終端,無論何時,你都要花時間檢查...
開始使用Gulp
結語參考與擴充套件 接觸gulp不多,感觸卻多。不過一句話 省了好多麻煩。如果你也是做web前端的,並且也想更加便捷高效的去完成自己的專案,那麼可以嘗試使用一下gulp。首先看看gulp的定義 gulp是乙個基於流的自動化構建工具。大家都明白什麼是自動化 就是懶人不用動手了唄 構建工具就是說這是乙個...
MQTT 開始使用
嵌入式 個人開發環境 ubuntu 14.04 mqtt messagequeueing telemetry transport protocol 全稱 訊息佇列遙感傳輸協議,是ibm開發的乙個即時通訊協議。mqtt是面向m2m和物聯網的連線協議,執行在tcp協議棧之上,採用輕量級發布和訂閱訊息傳輸...