- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
出于安全原因,我们将/tmp
挂载了noexec-flag。由于docker需要exec-flag,因此运行任何docker-compose命令(如docker-compose --version
)都会导致以下错误:
docker-compose: error while loading shared libraries: libz.so.1: failed to map segment from shared object
TMPDIR
env variable to a local path like the home directory上修复。但是在Ansible中,这不起作用,因为它没有生成登录shell。我们获得了一个Ansible剧本,其中包含许多
docker-compose
cli调用,但它们忽略了例如在
TMPDIR
。
/etc/environment
指定为具有绝对路径的环境变量时才有效,如下所示:
- name: Check if all applications are is running
shell: |
docker-compose ps | grep Up | wc -l
changed_when: running.stdout != item.services_num
register: running
with_items:
- "{{ docker_applications }}"
environment:
TMPDIR: /home/myuser
TMPDIR
应该可以解决此问题,因此我将其设置为
remote_tmp
:
[defaults]
remote_tmp = /home/myuser
最佳答案
我发现a workaround允许在剧本级别使用ansible变量指定env变量,如下所示:
- name: Setting custom TMPDIR for docker
hosts: all
environment:
TMPDIR: "{{ tmp_dir }}"
vars:
tmp_dir: /home/myuser
# Verify that it works by making a negative test with the wrong temp dir that results in libz.so.1 segment failed error
#tmp_dir: /tmp
tasks:
- name: Test tmpdir
shell: "echo $TMPDIR; docker-compose --version
tmp_dir: ~
不起作用。更好的是从Ansibles变量中获取主目录:
- name: Setting custom TMPDIR for docker
hosts: all
environment:
TMPDIR: "{{ ansible_env.HOME }}"
tasks:
- name: Test tmpdir
shell: "echo $TMPDIR; docker-compose --version"
environment
指令。
关于docker - 在Ansible中全局设置TMPDIR以将Docker与/tmp上的noexec标志一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59153949/
如果要禁用特定的构建步骤,可以使用以下任一方法: do_configure[noexec] = "1" 要么 do_configure() { } 这些选择之间有什么区别?我听说使用noexec时可能
我有以下代码: -- start of code set noexec off declare @requiredVersion int declare @currentVersion int set
当我使用 NOEXEC ON 编写一些 T-SQL 查询时,我体验到了 SQL Server 的有趣行为,并且我很好奇为什么会发生这种情况。有时我只得到 Command(s) successfully
我的程序对已写入用户指定目录的二进制文件调用 exec()。如果目录驻留在使用“noexec”挂载的树中,则 exec() 将失败并返回 EACCES。 我不想使 exec() 失败,而是希望能够确定
我想知道 linux 内核命令行中这两个参数之间的区别: 不执行=关闭 鼻息 在这两种情况下,它都拒绝内核执行用户空间内存中的代码。但我看不出它们之间有任何区别。 dmesg 中的错误消息不同,但行为
在 SSMS 中执行以下操作时; if not exists (select * from sys.databases where name = 'SWFUAT') begin print '
我正在尝试在需要在 /tmp 上安装 noexec 的盒子上运行 android sdk。 我可以将 java tmp 指向另一个我可以执行的地方,但这会破坏警察要求在 tmp 中执行 noexec
我正在 Linux 中的 CherryPy 上运行自定义 Python 2.7.3 应用程序。当我使用/etc/init.d/中的服务脚本来启动或停止服务时,遇到了段错误 (SIGSEGV)。奇怪的是
我正在尝试将 Python 用于运行 Linux 的 Arm 处理器上的嵌入式应用程序(从 X86/Linux 交叉编译的 CPython 2.7.3)。在我开始保护设备以防止篡改之前,它一直运行良好
我有一个 SQL 脚本,可以根据某些条件更新数据库过程或更改表。如果过程或表在运行时不存在,脚本也应该工作(在这种情况下应该更新注释)。 在 MSSQL 中,我能够通过 NOEXEC 实现这一点,如下
我是一名优秀的程序员,十分优秀!