小编Tri*_*yen的帖子

如何从docker容器访问主机端口

我有一个运行jenkins的码头集装箱.作为构建过程的一部分,我需要访问在主机上本地运行的Web服务器.有没有办法将主机Web服务器(可以配置为在端口上运行)暴露给jenkins容器?

编辑:我在Linux机器上本地运行docker.

更新:

除了下面的@larsks答案,要从主机获取主机IP的IP地址,我还会执行以下操作:

ip addr show docker0 | grep -Po 'inet \K[\d.]+'
Run Code Online (Sandbox Code Playgroud)

docker docker-container

217
推荐指数
13
解决办法
18万
查看次数

通过身份验证保护Google Cloud功能http触发器

我正在按照本指南尝试Google云端功能:https://cloud.google.com/functions/docs/quickstart

我创建了一个带有HTTP触发器的函数,并且能够执行POST请求以触发函数写入数据存储区.

我想知道是否有办法保护这个HTTP端点?目前似乎它将接受来自任何地方/任何人的请求.

当谷歌搜索时,我看到大多数结果都谈到使用Firebase保护内容.但是,我没有在这里使用Firebase服务.

我的选择是让它打开,希望没有人知道URL端点(默默无闻的安全性),或者在函数本身中实现我自己的auth检查?

security authentication google-cloud-datastore google-cloud-functions

34
推荐指数
2
解决办法
7954
查看次数

cron作业没有在ubuntu上的docker容器内运行

我有一个简单的Dockerfile如下

FROM ubuntu:latest

ADD crontab /etc/cron.d/test-cron

RUN chmod a+x /etc/cron.d/test-cron
RUN touch /var/log/cron.log

CMD cron && tail -f /var/log/cron.log
Run Code Online (Sandbox Code Playgroud)

crontab文件的内容一样简单

* * * * * root echo "Hello world" >> /var/log/cron.log 2>&1
# empty line
Run Code Online (Sandbox Code Playgroud)

当我在我的本地OS X机器上运行它(运行docker-machine)时,它工作正常("Hello world"每分钟打​​印到日志文件).但是,当我尝试在Ubuntu机器上运行它时,cron作业不会运行(空日志文件).

这是我用来运行容器的命令

docker build -t crontest .
docker run --name cron crontest
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会这样.我想知道我的Ubuntu盒子是否有问题(错误的时间设置?).我试图重启该机器无效.我目前在Ubuntu盒子上运行其他docker容器,它们运行正常.

关于如何调试/修复此问题的任何建议都将非常受欢迎.

编辑:

进入容器(docker exec -it cron /bin/bash)后,我可以验证cron是否在那里运行:

root@a2ad451af8d9:/# ps -ef | grep cron
root         1     0  0 20:15 ?        00:00:00 /bin/sh -c cron && tail -f …
Run Code Online (Sandbox Code Playgroud)

ubuntu cron docker

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

如果留空,将插入到contenteditable html元素中

我有一个<div contenteditable="true"></div>,当我输入一些内容,然后删除这些内容,似乎浏览器<br>自动插入元素到这个元素.

有没有人有这方面的经验?知道如何解决它吗?

html

18
推荐指数
2
解决办法
3816
查看次数

Gruntfile中的简单正则表达式

我有以下几行Gruntfile.

js files: ['<%= yeoman.app %>/scripts/{,*/}*.coffee'],

有人可以这么善良告诉我什么{,*/}*意思吗?我知道它正在尝试匹配.coffee脚本文件夹中的所有文件,但我想知道它是如何做到的.

glob gruntjs

15
推荐指数
2
解决办法
5854
查看次数

禁用文件的合成html/tidy检查器

有没有办法禁用某个文件的合成的html/tidy插件?

我有一个把手模板,其中包含一个空<tbody></tbody>标记作为占位符,我不断收到错误 trimming empty <tbody> [html/tidy]

有没有办法要么禁用这个特定的规则,或者只是禁用这个特定文件的html/tidy插件?

vim syntastic

8
推荐指数
2
解决办法
1135
查看次数

ssh使用mac终端时要使用的文本编辑器

我正在使用我的Mac终端连接到我的GoDaddy主机帐户.

我想知道我可以通过终端使用什么文本编辑器?我根本不熟悉VIM或emacs,因此我很难使用.

我在Linux上使用过gedit,非常喜欢它.我想知道我是否可以在Godaddy服务器上安装gedit?

任何意见,将不胜感激.我很熟悉使用SSH和终端.

macos ssh terminal text-editor

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

AWS Interface Endpoint 每个可用区有 1 个以上的子网?

我可以为每个可用区提供 1 个以上的子网来创建 AWS 接口终端节点吗?

当我尝试时,我收到此错误:

Error creating VPC Endpoint: DuplicateSubnetsInSameZone: Found another VPC endpoint subnet in the availability zone of subnet-xxx. VPC endpoint subnets should be in different availability zones supported by the VPC endpoint service.
Run Code Online (Sandbox Code Playgroud)

我的 VPC 设置为每个可用区有多个子网。这是否意味着在没有 VPC 终端节点网络接口的子网中设置的实例将无法访问 AWS 服务?

amazon-ec2 subnet amazon-web-services

7
推荐指数
1
解决办法
2411
查看次数

bash退出状态始终为0

我遇到了这个奇怪的问题,即使它没有成功执行,我的退出状态总是返回0.

我想使用以下代码在我的提示符上输出退出状态:

function status() {
    echo $?
}

export PS1="\$(status)>"
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到以下输出

 0? pwd
/Users/tringuyen
 0? ad
bash: ad: command not found
 0? echo $?
127
Run Code Online (Sandbox Code Playgroud)

显然,倒数第二个命令ad没有返回0状态代码.然而,这就是我从提示中得到的.

有谁知道这里会发生什么?

编辑6/20上午11:57:问题似乎$?总是0无论如何,除了.bashrc文件本身内有错误,这将导致它返回一个不同的值0.

bash command-prompt

6
推荐指数
1
解决办法
2239
查看次数

在没有 sudo 的情况下运行特权 podman(并且没有用户名空间)

我在 RHEL 7.6 上安装了 podman 并且可以使用 sudo 运行正常的 docker 命令

sudo podman run hello-world
Run Code Online (Sandbox Code Playgroud)

有没有办法在不使用 sudo 的情况下运行它,而不使用用户名空间(类似于docker使用常规docker命令时将用户添加到组中)?

我知道当以非 root 用户身份运行时,podman 使用用户名空间。但我无法在机器上启用/设置 suid(LDAP 等)

目前,当以非 root 用户身份运行时,我得到了这个

user namespaces are not enabled in /proc/sys/user/max_user_namespaces
ERRO[0000] cannot re-exec process
Run Code Online (Sandbox Code Playgroud)

containers rhel7 podman

5
推荐指数
1
解决办法
6480
查看次数