Docker for Devs:创建开发镜像

  • 时间:
  • 浏览:1

1,从终端/提示符导航到大伙 项目目录的根目录。2,从您的终端/提示符在项目目录的根目录下执行以下命令,何必 忘记最后的[空格]和“.”

docker build -t express-dev-i -f dev.dockerfile .

4. 回到浏览器中,刷新URL(或导航到)http://localhost:7000

可能那么 列出,您还上能 将ALL -a标志加带到上述命令中以显示所有容器,并查看“express-dev-app”容器是是是不是列出了退出错误。

步骤4c:检查容器装载信息

在继续完后 ,大伙 还上能 使用以下INSPECT命令来查看有关此新容器的挂在的卷信息,这将显示一大堆容器信息:

本文来自云栖社区公司合作 协议伙伴Dockerone.io,了解相关信息还上能 关注Dockerone.io。

大伙 做了那先 ?

大伙 那么 必要重建或甚重新启动容器,去观察一点简单但却十分伟大的前端改变,一点改变反应了大伙 对容器内部人员的修改。

本文作者:高洪涛

1,在项目根中创建兩个多 名为“initialize.sh”的文件2,将以下内容粘贴到 “initialize.sh”中

npm install 
node bin/www

原文标题:Docker for Devs:创建开发镜像

兩个多劲以来,您可能兩个多劲在想,可能源代码驻留在容器中,大伙 将要怎样编辑源代码并将其反映在运行容器中,对吗?这是大伙 开始英文了了英语 实现的主要目标之一,有的是吗?我完后 提到,镜像是一组区分的只读分层文件系统。每层加带或替换其下面的层。我也提到容器是镜像的运行实例。但这不止于此。容器为镜像的底层只读文件系统提供读写层。

重要提示:可能您在本地容器外运行多多线程 (之类,node bin / www),与大伙 在shell脚本initialization.sh中设置的命令一样,您的文件夹根目录饱含兩个多 本地的node_modules目录,请删除大伙 。
  1. 从终端/提示符导航到express多多线程 根目录
  2. docker run -name express-dev-app -p 7000:10000 -v $(pwd):/var/app express-dev-i

  1. 创建兩个多 文件,其中饱含每次从该映像生成的容器启动时,大伙 要我运行的命令。
  2. 设置权限,以便还上能 从容器内执行文件,并在容器启动时运行诸如“npm install”之类的初始化步骤。

步骤3:创建应用开发镜像

现在,大伙 有兩个多 新的Docker镜像文件,大伙 可能准备好创建兩个多 镜像了。

大伙 什么都有破解了多多线程 开发以及Docker使用容器化的法律办法和法律办法。在下兩个多 教程中,大伙 将使用并运行兩个多 通用(同构)React.js多多线程 ,并将热模块重新加载到容器中,使培训更贴近实际应用场景。原文链接:Docker for Devs: Creating a developer image(翻译:高洪涛)===========================================译者介绍

高洪涛,当当网架构师,开源数据库分库分表顶端件Sharding-JDBC作者。目前从事Docker,Mesos相关工作

为了将那先 读和写层结合在一起去,Docker使用联合文件系统。来保证容器的情況变化不必反映在镜像中。任何文件更改都严格居于容器中。这带来了兩个多 间题。当容器脱机时,在实例化容器的底层映像中不必保留任何更改。一点 ,为了持久化容器的修改(以及一点好处),Docker开发了。简而言之,卷是居于于该联合文件系统之外的目录或文件,通常居于主机(读取:您的计算机)的文件系统上。

步骤4a:创建具有卷的开发容器

现在大伙 有兩个多 表示多多线程 开发版本的镜像,大伙 准备在主机上创建兩个多 装载卷的容器,指向多多线程 的源代码本地目录:

3. 编辑为

p Welcome to #{title} running in a container!

原文发布时间为:2017-07-04

【3 天烧脑式容器存储网络训练营 | 深圳站】本次培训以容器存储和网络为主题,包括:Docker Plugin、Docker storage driver、Docker Volume Pulgin、Kubernetes Storage机制、容器网络实现原理和模型、Docker网络实现、网络插件、Calico、Contiv Netplugin、开源企业级镜像仓库Harbor原理及实现等。在本系列的第一帕累托图,大伙 创建了多多线程 的基础Docker镜像,并运行了该镜像的实例(称为容器)。大伙 也鉴证了Grayskull(译者注:希曼的死对头,作者也是暴露年龄啊)的力量……我的意思是:Docker!大伙 完成了所有典型的多多线程 的安装和运行。请注意这里大伙 有的是从本地主机,什么都有从容器内运行的。继续一点Docker for Developers系列,大伙 将介绍要怎样设置可编辑的多多线程 开发环境的镜像。

起航

大伙 在本教程的一点帕累托图中的目标是生成兩个多 代表大伙 多多线程 开发版本的镜像,并设置容器的必要组件以使其运行,原本 大伙 才还上能 对文件系统进行更改并将其反映在容器中。

托管运行node.js多多线程 所需的更改(之类安装所有依赖关系节点模块)将通过大伙 创建的已安装卷在本地进行映射。

步骤6a:与容器进行交互

大伙 还上能 通过连接到正在运行的容器来验证。大伙 还上能 在容器上打开兩个多 bash shell,并检查有关工作目录的信息。

大伙 那么 在分离模式下启动容器,什么都有您需要停止运行容器并使用Docker start命令重新启动,如上兩个多 教程所示,可能您需要打开兩个多 新的终端/提示符并连接:1,

docker exec -it express-dev-app /bin/sh 

注意:请记住,那先 容器正在基于Linux的环境中运行,一点 运行chmod系统命令会将指定文件的权限设置为可执行文件,在一点情況下指的是initialize.sh文件。

大伙 做了那先 ?

可能回想起来,大伙 在基本的express-prod-i镜像中指定了运行“npm install”命令,它将安装的NPM软件包作为容器的一帕累托图。一点 大伙 在这里

3,从终端/提示符导航到项目根目录并运行以下命令使bash shell脚本可执行:

chmod +x initialize.sh

重要信息 :请确保查看步骤6有关安装的本地源代码和容器的一点精彩提示,命令和说明。

步骤5a:验证运行Express多多线程

浏览器到http://localhost:7000

大伙 还上能 通过运行“列出运行中容器”命令来验证运行容器是是是不是那么 任何间题因为它停止运行:

docker ps

  • 将从大伙 的制作镜像“express-prod-i”中获得基本镜像……
  • ……并创建容器本地ENV变量NODE_ENV,值为“development”。
  • 最后,大伙 指定大伙 要从WORKDIR运行兩个多 名为“initialized.sh”的bash shell脚本。

步骤2:创建大伙 的初始化Bash Shell脚本

大伙 将在容器中初始化多多线程 ,而有的是让它在创建映像时初始化。一点 ,那先 多多线程 启动步骤(之类“npm install”)将在容器启动时进行:

2,提示符下输入命令:ls -l

2. 找到行

p Welcome to #{title}