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,560评论 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,811评论 0 7
  • 夕阳西下,落日余晖,依然火红圆润硕大;北京的春天,短暂而美好
    李悦然阅读 367评论 0 0