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模块
2.然后在当前目录下创建一个Dockerfile
DockerfileDockerfile内容很简单:1.加载一个已有的镜像node 2.在当前镜像中创建一个文件夹并把工作目录设置到该文件夹下 3.将本地的当前目录下的所有文件也就是ls列出的所有文件都拷贝到Service目录下 4.最后在run的时候执行node demo.js
PS: 之前以为用RUN 也可以啊不都是shell命令么!结果发现RUN命令是在build的过程中就会调用的。如果设置了RUN 指令,那么在创建的时候就会执行这句命令,会卡死在build的过程中。而CMD的意思是,在build的过程中不会执行,以后docker跑起来之后就会执行
此时就能看到新建立的镜像了叫zht/new
3.然后呢这个镜像就可以启动了
docker run这里设置了name参数方便以后关闭。
这样在本地主机就可以查看这个跑起来的程序了
image.pngPS:这里我更换了阿里云Docker。因为Docker hub的下载速度实在慢的惊人。
更换阿里镜像首先要注册一个阿里账号然后