小编And*_*dre的帖子

什么是一个好的docker webdev工作流程?

我有一种预感,Docker可以大大改善我的webdev工作流程 - 但我还没有完全围绕如何处理将Docker添加到堆栈的项目.

基本软件堆栈看起来像这样:

软件

  • Docker镜像提供自定义LAMP堆栈

    • Apache有几个模块
    • MYSQL
    • PHP
    • 一些CMS,例如Silverstripe
  • GIT

工作流程

我可以想象工作流看起来有点像下面这样:

发展

  1. 写一个Dockerfile定义符合上述要求的LAMP容器
    • REQ:机器应该在启动后立即启动apache/mysql
  2. 构建docker镜像
  3. 将运行CMS所需的文件复制到例如 ~/dev/cmsdir
    • ~/dev/cmsdir/版本控制之下
  4. 运行docker容器,然后以某种方式安装~/dev/cmsdir/var/www/容器上
  5. 填充数据库
  6. 做的工作 /dev/cmsdir/
  7. 提交并关闭docker容器

部署

  1. 设置远程主机(例如使用ansible)
  2. 将容器映像推送到远程主机
  3. cmsdir通过git 获取-project
  4. 运行docker容器,拉入数据库并挂载cmsdir/var/www

现在,这在纸上看起来相当不错,但我不太确定这是否是正确的方法.

问题:

  1. 在本地开发时,如何让数据库在重新启动容器实例之间保持不变?或者我是否需要在每次旋转容器之前运行sql-dump?

  2. 我应该为db和apache服务器设置单独的容器实例吗?或者为上述用例提供单个容器是否足够?

  3. 如果为数据库和服务器使用单独的容器,我怎样才能同时自动上下旋转?

  4. 我如何实际装入/dev/cmsdir/容器目录/var/www/?我应该利用数据量吗?

  5. 我错过了任何陷阱吗?什么可以简化?

docker

121
推荐指数
2
解决办法
2万
查看次数

ckeditor点击事件不起作用

我有一个ckeditor插件并在init中:我想捕获click事件,所以我可以做点什么.

CKEDITOR.plugins.add('Columns',{
  init : function(editor) {
    editor.on('doubleclick', function(ev) {console.log('hello');}); // Works
    editor.on('focus', function(ev) {console.log('hello');}); // Works

    editor.on('click', function(ev) {console.log('hello');}); // Does not work
    editor.on('mousedown', function(ev) {console.log('hello');}); // Does not work
  }
});
Run Code Online (Sandbox Code Playgroud)

有任何想法吗???

编辑: 确定无法点击工作,我相信我们需要为此创建一个事件.但是感谢这篇文章:http://alfonsoml.blogspot.com.au/2011/03/onchange-event-for-ckeditor.html

我设法使用'saveSnapshot',每次点击时都会触发,因此现在可以使用了

editor.on('saveSnapshot', function(ev) {console.log('hello');}); // Works
Run Code Online (Sandbox Code Playgroud)

ckeditor

11
推荐指数
1
解决办法
3868
查看次数

什么是localStorage?

有人可以向我解释一下localStorage是什么,以及我将如何或在何处使用它?

我意识到这个问题可以通过"谷歌搜索"来回答,但我更喜欢简洁,易于查找,以及从Stack Overflow获得的索引和多样化的解释性答案.

javascript html5 local-storage

2
推荐指数
1
解决办法
1799
查看次数

在JavaScript中初始化对象的空属性的正确方法是什么

我有一个带有属性的对象,其中一个属性prop2只会在以后初始化并在准备就绪时添加到此对象中.

我想将它显示为对象的属性,纯粹是为了人类的可读性,因此当我稍后查看代码时,我将知道它存在并且将/可以使用.

所以我的问题是:

在JavaScript中初始化对象的空属性的正确方法是什么

myObject = {
    prop1: 'somevalue',
    prop2: '' <---- ''|null|undefined|false|0|{} what is correct
    }
Run Code Online (Sandbox Code Playgroud)

我假设它取决于将使用的类型,我意识到任何实际工作,我对最佳实践方式感兴趣.

提琴手: http ://jsfiddle.net/gamelodge/DWCEa/

javascript jquery

0
推荐指数
1
解决办法
165
查看次数

PHP嵌套的else语句没有大括号

我正在研究我继承的遗留代码,我遇到过这段代码.

  • 本规范有效!
  • 忽略变量名称看{第一个条件打开但是从不关闭其他没有打开?它仍然有效吗?
  • 它是继续在两个条件下还是仅在一个条件下继续?
  • 为什么它甚至有效?

    foreach($bla as $foo) { 
    
       if(condition) {
       if(condition) {
        // Do Something
       }else
         continue;
       }
    
    }
    
    Run Code Online (Sandbox Code Playgroud)

我的假设是内在条件将使用其他?但我只是假设因为这个答案:嵌套的if-else行为没有括号我找不到PHP的明确答案

php

0
推荐指数
1
解决办法
101
查看次数

标签 统计

javascript ×2

ckeditor ×1

docker ×1

html5 ×1

jquery ×1

local-storage ×1

php ×1