Tag: 泊坞窗

Docker Cloud WordPress堆栈工作stream优化

我正在开发一个使用npm和composer作为依赖pipe理的Sage主题(v9 – master)的Wordpress。 我试图实现一个堆栈,我可以简单地在本地运行并运行,并具有与我的生产Docker Cloud相同的环境(我不会涵盖docker-compose部分,只有Docker Cloud部分) 我目前在Docker Cloud上运行一个堆栈,如下所示: WordPress服务与自定义图像(build立在我的云节点),从Wordpress构build,我添加我的主题/wp-content/themes/theme-name和我的插件在/wp-content/plugins MYSQL服务与共享卷进行持久化 自定义节点映像(构build在云中的节点上)的节点服务,简单地将WORKDIR设置为/var/www/html/wp-content/themes/theme-name ,并将栈参数设置为运行npm i && npm build:production的COMMAND。 npm i && npm build:production 自定义Composer图像(构build在云中的节点上)的Composer服务,它简单地将WORKDIR设置为/var/www/html/wp-content/themes/theme-name并作为一个堆栈参数运行composer install的COMMAND 所有这一切正常工作,但是我希望当我推动改变,我的资产得到重新编译(npm运行webpack创builddist文件夹)。 截至目前,当我推动改变我的github,3自定义图像得到重build和自动重新部署到云和npm运行命令的作品,但我没有新的来源(我推到Github)在我的重新部署的WordPress的包含主题文件和资源),所以它重build相同的旧来源…所以我不得不重新部署在云上的新容器,以获得新的来源和webpack它,但是每次重新部署(或每隔1分钟30停机时间推…)。 我想简单地将我的更改推送到回购站,并使用webpack自动在我的Docker Cloud堆栈上构build源代码。 有没有更有效的方式来实现我目前的工作? 注意:我尝试的第一件事是在我的Wordpress图像中安装composer / node,并在图像构build中运行,以便依赖项安装在图像构build上,并在运行时可用,但是命令(composer php安装或npm i)但是它们的输出(/ vendor和/ node_modules)从来不存在于映像中,但是安装的结果被caching了,因为如果我将SSH连接到一个容器并自己运行命令,它将简单地从caching中创build/ vendor文件夹下载。 但是,当我在Dockerfile中运行相同的composer php安装/供应商是不存在的内置映像,我尝试了3-4个小时才能使它工作,不能…

在Docker中以非root用户身份运行节点应用程序

几天之后,我一直在尝试使用docker-compose作为Docker容器内的非root用户运行节点应用程序。 无论我尝试什么,我都会得到相同的EACCES: permission denied错误,更具体地说,它似乎是启动脚本的一个问题: Error: EACCES: permission denied, open '/home/dev/learn-node/public/dist/App.bundle.js' npm info lifecycle dang-thats-delicious@0.0.0~assets: Failed to exec assets script 当我简单地注释掉Dockerfile中的USER dev行并保持为root时,我没有看到任何这些问题。 我已经尝试了许多不同的命令在我的Dockerfile中,但切换到dev用户似乎导致的问题。 这就是我的package.json脚本部分的样子 "scripts": { "prod": "node ./start.js", "watch": "nodemon ./start.js –ignore public/", "start": "concurrently \"npm run watch\" \"npm run assets\" –names \"💻,📦\" –prefix name", "assets": "webpack -w –display-max-modules 0", "sample": "node ./data/load-sample-data.js", "blowitallaway": "node […]

Docker上的Apache Kafka – 在数百个游泳池后停止

我在运行Kafka时遇到了一个问题,即在Java应用程序中用作事件存储。 卡夫卡版本:0.10.1.0 Java lib版本:0.10.1.0 Docker版本:当前边缘(17.06.0-ce,build 02c1d87) (稳定发布时的问题) Java 1.8 Docker组合版本:3.3 卡夫卡在147次请求后突然停下来。 任何configuration,docker设置,主机等的变化不会导致不同的结果。 Docker撰写文件: version: '3.3' services: queue: image: spotify/kafka ports: – "9092:9092" – "2181:2181" environment: – ADVERTISED_HOST=queue – ADVERTISED_PORT=9092 # kafka-manager: # image: sheepkiller/kafka-manager # ports: # – "9000:9000" # environment: # – ZK_HOSTS=queue:2181 # depends_on: # – queue # links: # – queue postgresql: […]

添加用angular色添加创buildmongodb和用户的语法问题

我已经开始用auth构build我的第一个docker容器。 我有一个Python脚本,从我们的密码安全提取凭据,并使其可用于一个bash脚本,然后设置pipe理数据库和用户。 我使用一个RUN命令的python脚本,这很好。 当我login到容器并运行它时,bash脚本run.sh运行完美。 但是,它应该作为CMD的一部分肯定地运行? Dockerfile摘录: ADD set_mongo_passwords.py / ADD run.sh / RUN chmod +x /run.sh RUN chmod +x /set_mongo_passwords.py RUN python /set_mongo_passwords.py <user> <password> CMD ["/bin/bash","/run.sh"] Bash脚本 #!/bin/sh mongod –auth source mongodb_credentials.txt # Wait for MongoDB to boot RET=1 while [[ RET -ne 0 ]]; do echo "=> Waiting for confirmation of MongoDB service […]

使用HTTP端点在Apache Mesos上创build持久性卷

我试图在使用HTTP主端点的Mesos从节点之一上创build一个持久卷。 有关请求的问题: 我看到在创build卷时configuration了容器path。 这个值应该是什么? 容器path? 是Mesos使用的地方吗? 它是特定于只有Mesos容器还是适用于Docker容器(在Docker中命名为卷)? 我有一个启动多个docker容器的自定义执行程序,我可以在那里使用这个持久卷Id? 这是请求: curl -i \ -u <operator_principal>:<password> \ -d slaveId=<slave_id> \ -d volumes='[ { "name": "disk", "type": "SCALAR", "scalar": { "value": 512 }, "role": "ads", "reservation": { "principal": <operator_principal> }, "disk": { "persistence": { "id" : <persistence_id>, "principal" : <operator_principal> }, "volume": { "mode": "RW", "container_path": <path> } […]

Traefik Docker websocketconfiguration

我目前正在尝试使用自定义websocket服务的Traefik。 我需要在Docker云中部署它。 这是我的堆栈文件的摘录: traefik: image: traefik command: –web –docker –docker.domain=docker.localhost –logLevel=DEBUG ports: – '80:80' – '8080:8080' – '443:443' volumes: – /var/run/docker.sock:/var/run/docker.sock – /dev/null:/traefik.toml presenceservice: image: 'imagename' labels: – 'traefik.api.backend=presenceapi' – 'traefik.api.port=3000' – 'traefik.api.frontend.rule=PathPrefixStrip:/presenceapi,/alksjdfllkajsflkajsdlkfjaslkdfjaslkdjflkasjdflkasjdflkasdjf67' – 'traefik.websocket.backend=presencesocket' – 'traefik.websocket.protocol=ws' – 'traefik.websocket.port=3001' – 'traefik.websocket.frontend.rule=PathPrefixStrip:/presencesocket,/alksjdfllkajsflkajsdlkfjaslkdfjaslkdjflkasjdflkasjdflkasdjf68' – 'traefik.websocket.frontend.entryPoints=ws,wss' 但是试图用C#(SocketIoClientDotNet)连接到websocket只会导致连接错误。 在部署具有端口的存在服务之前,它工作。 任何build议在docker上撰写文件? 看着Traefik Git的问题,我只想出了这个configuration,但它不起作用。

docker集装箱上的PHPconfiguration没有改变

我使用docker(php-fpm + nginx + mysql)设置环境。 我尝试在「/ etc / php on container」上安装「phpconfiguration文件(例如.php.ini)」,想要在容器中反映主机上php的设定变更。 现在,我重写了主机上的phpconfiguration文件,并重新启动了容器,但是容器的configuration在浏览器上没有改变(我确认了phpinfo的内容)。 但是,我可以看到,容器的configuration只在terminal上更改。 ■应用程序容器 root@70e3ff96a942:/# php -i | grep "post_max\|upload_max" post_max_size => 64M => 64M (value is 2M before change) upload_max_filesize => 64M => 64M (value is 2M before change) 供参考:现在,我确认了以下事情。 (1) Configuration file which I rewrote is not different from 「Configuration File」of phpinfo. (2) […]

Webdriverio客户端不会在Docker容器中启动

所以我试图在无头镀铬运行seleniumtesting。 我正在使用webdriver来启动我的客户端。 但它不工作。 我的testing卡在启动客户端,过了一段时间我收到错误消息。 下面你可以看到我是如何发起我的客户。 const client = webdriverio.remote({ desiredCapabilities: { browserName: 'chrome', chromeOptions: { args: ['–headless', '–disable-gpu'] }, binary: '/opt/google/chrome/google-chrome', }, baseUrl: CONFIG.host, logLevel: 'verbose', waitForTimeout: 3000 }) 另外,当我运行我的docker容器(docker运行-it – cap-add = SYS_ADMIN headless-chrome / bin / bash)与下面的命令,我得到的回应。 正因为如此,我认为这不是我的二进制或我的参数的问题。 chrome@e7b2dd3f7ac8:~$ /opt/google/chrome/google-chrome –headless –disable-gpu –dump-dom https://www.chromestatus.com 以下是我的docker形象: # Base docker image FROM debian:sid LABEL name="chrome-headless" […]

无法使用docker容器中的pysparkling自动运行H2O Flow

语境: 我有一个正在运行的H2O Sparkling Water本地环境,使用docker集装箱安装。 我创build了一个基于官方jupyter/all-spark-notebook图像的jupyter/all-spark-notebook来安装Hadoop和Spark的本地环境,并在其上面包含以下代码: # Install H2O pysparkling requirements RUN pip install requests && \ pip install tabulate && \ pip install six && \ pip install future && \ pip install colorama # Expose H2O Flow UI ports EXPOSE 54321 EXPOSE 54322 EXPOSE 55555 # Install H2O sparkling water RUN \ cd /home/$NB_USER […]

Javascript Date在Karmatesting中给出错误的时区

不知怎的,在Docker镜像重build之后,我开始遇到javascript时区问题。 它曾经工作,但在Docker镜像更新后,不知何故,生成的Date对象不再遵守TZ设置。 因此,我们的时区依赖datestring格式testing失败。 # in the tests console.log(new Date("2016-04-01T00:00:00.000000+00:00")); // It is very strange it says (Asia) at the end. // In fact, it will say whatever I put in TZ Fri Apr 01 2016 00:00:00 GMT+0000 (Asia) # in Chrome developer tool console.log(new Date()); Fri Apr 01 2016 08:00:00 GMT+0800 (CST) gulpfile.js gulp.task('test', ['_set_tpe_timezone'], […]