Docker

作者: GeEKOh | 来源:发表于2017-08-24 19:59 被阅读0次

    之前总听别人说要集成环境到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来使用加速器

    相关文章

      网友评论

          本文标题:Docker

          本文链接:https://www.haomeiwen.com/subject/cfaedxtx.html