Docker

之前總聽別人說要集成環境到Docker中,但一直也沒有心情去看看Docker是什么,只知道是個沙箱一樣的容器。今天抽了點時間鼓搗一下!

Docker 的解釋我就不多說了,baidu上一抓一大把。我記錄一下自己遇到的坑。

首先我用的是京東云Ubuntu16.04
服務器屬性

內核如果過低的話,需要升級一下內核。我這里就不需要了。

下載和安裝
下載安裝
docker的命令我也不是很熟悉,就不全寫了,只記錄幾個用到的
Docker 命令

pull 是從遠程庫中拉取鏡像到本地
push 是提交本地鏡像到倉庫
images 列出本地所有的鏡像
search [鏡像名字:TAG] 查找鏡像
login 登錄到某倉庫
ps 列出當前正在運行的docker容器 -a 全部
run 運行 其中 -t 帶有控制臺可進入 -d 后臺運行 --name 設置name參數 -p [主機:容器] 設置容器到主機的端口映射
stop 停止某個name的容器運行
---docker stop $(docker ps -a -q) 停止全部的容器
build 根據當前目錄下的Dockerfile構建一個鏡像
version 查看docker的版本

我的想法是能夠在docker中配置好一個Nodejs項目

以下是操作:
1.首先是看一下project里的文件,是一個單js文件外加node模塊

1

2.然后在當前目錄下創建一個Dockerfile

Dockerfile

Dockerfile內容很簡單:1.加載一個已有的鏡像node 2.在當前鏡像中創建一個文件夾并把工作目錄設置到該文件夾下 3.將本地的當前目錄下的所有文件也就是ls列出的所有文件都拷貝到Service目錄下 4.最后在run的時候執行node demo.js
PS: 之前以為用RUN 也可以啊不都是shell命令么!結果發現RUN命令是在build的過程中就會調用的。如果設置了RUN 指令,那么在創建的時候就會執行這句命令,會卡死在build的過程中。而CMD的意思是,在build的過程中不會執行,以后docker跑起來之后就會執行

2

此時就能看到新建立的鏡像了叫zht/new

3.然后呢這個鏡像就可以啟動了

docker run

這里設置了name參數方便以后關閉。

這樣在本地主機就可以查看這個跑起來的程序了
image.png

PS:這里我更換了阿里云Docker。因為Docker hub的下載速度實在慢的驚人。
更換阿里鏡像首先要注冊一個阿里賬號然后

通過阿里云的鏡像倉庫下載:[docker-engine](http://mirrors.aliyun.com/help/docker-engine)、[docker-ce](http://mirrors.aliyun.com/help/docker-ce)
通過修改daemon配置文件/etc/docker/daemon.json來使用加速器
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 轉載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,544評論 0 120
  • Docker — 云時代的程序分發方式 要說最近一年云計算業界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,636評論 15 147
  • 0. 前言 docker是什么?docker是用GO語言開發的應用容器引擎,基于容器化,沙箱機制的應用部署技術。可...
    sessionboy閱讀 3,884評論 2 49
  • 五、Docker 端口映射 無論如何,這些 ip 是基于本地系統的并且容器的端口非本地主機是訪問不到的。此外,除了...
    R_X閱讀 1,800評論 0 7
  • 夕陽西下,落日余暉,依然火紅圓潤碩大;北京的春天,短暫而美好
    李悅然閱讀 367評論 0 0