草庐IT

docker run with volume 将目录权限更改为root

当我运行dockerimage时,我挂载的artifacts目录获得了root权限。我希望工件具有与用户相同的权限。是否可以在运行docker镜像时将用户作为参数传递,以便创建具有特定用户权限的工件目录?这就是我运行docker的方式:dockerrun--cap-addSYS_ADMIN--security-optapparmor:unconfined-it-v/home/artifacts:/artifactsdock_imgdrwxr-xr-x2rootroot4.0KNov1613:58artifacts由于此工件获得了root权限,我无法通过我的用户登录对其进行处理。有人可以

mysql - Docker mysql 错误 1396 (HY000) : Operation CREATE USER failed for 'root' @'%'

我正在尝试设置两个容器,一个运行Python,另一个运行mysql。这是我的docker-compose.yml文件:version:'3'services:python:restart:alwaysbuild:./budget/dockerfiles/python/ports:-"5000:5000"links:-dbdepends_on:-dbvolumes:-./budget/:/app:zentrypoint:-python--u-/app/run.pydb:build:./budget/dockerfiles/mysql/environment:MYSQL_ROOT_PASS

docker - "groupadd: Command not found"在 docker 容器中,即使我安装它并且我是 root

我有以下要构建的Dockerfile。它基本上只是普通的jboss/wildfly基础镜像,但是使用amazonlinux而不是centOS构建的。构建错误出现在“groupadd:Commandnotfound”这一行在我第一次添加“epel”存储库并尝试手动安装它之后,正如您在第一个RUN指令中看到的那样。我已经阅读了一些论坛,并且似乎有时您在不以root身份运行时会收到该错误消息。我做了一个“whoami”,我以root身份运行,所以这应该不是问题。有人知道为什么我仍然收到错误消息吗?FROMamazonlinux:2017.03#Installpackagesnecessary

docker - 在 Docker 中将 "named volume"挂载为非 root

有没有办法以非root用户身份挂载命名卷?我试图避免必须在每个Dockerfile中运行chown但我需要挂载可由非root用户写入才能写入镜像中构建创建的工件这就是我正在尝试的dockerrun--rm-it-v/home/bob/dev/:/src/dev-vbuilds:/mnt/build--namebuildhilikus/build/bin/bash但是对于第二个坐骑,我得到了[user@42f237282128~]$ll/mnttotal4drwxr-xr-x2rootroot4096Sep1819:29build我的另一个挂载(/src/dev/)由user拥有,而不是

docker - 如何在 docker 中以非 root 用户身份写入卷容器?

如何挂载可由非root容器用户写入的卷?我可以接受非root用户拥有的卷或将权限设置为777。Dockerfile:FROMalpineRUNadduser-DmyuserUSERmyuser构建镜像:dockerbuild-texample.运行镜像,查看/app用户不可写%dockerrun-i-t-vmyapp:/appexample/bin/sh/$whoamimyuser/$ls-lha/|grepappdrwxr-xr-x2rootroot4.0KNov1221:01app/$我们可以看到应用程序是全局可读的,但只能由root写入。 最佳答案

security - 以非 root 用户身份在 Docker 容器中运行不受信任的代码有哪些潜在的安全问题?

到目前为止,我已经看到很多关于Docker没有充分隔离以允许任意容器在Multi-Tenancy环境中运行的说法,这是有道理的。“如果它是Docker中的根,则认为它是主机中的根。”那么非root用户呢?如果我想获取一些不受信任的代码并在容器中运行它,只要容器以非root非sudo用户身份运行,是否可以安全地完成?这样做有哪些潜在的安全隐患?我相当确定今天有生产应用程序(CI系统、可运行的粘贴箱)这样做,但他们只是幸运地没有遇到坚定的攻击者,还是在生产系统中这样做是合理的? 最佳答案 从Dockerv1.12开始,如果以非root用

docker - 以非 root 用户身份运行 Docker

我正在尝试以非root用户身份运行docker。当我尝试时,我收到以下错误:$dockerpsFATA[0000]Gethttp:///var/run/docker.sock/v1.18/containers/json:dialunix/var/run/docker.sock:permissiondenied.AreyoutryingtoconnecttoaTLS-enableddaemonwithoutTLS?我可以以root身份运行docker:$sudodockerpsCONTAINERIDIMAGECOMMANDCREATEDSTATUSPORTSNAMES[...]我已将此用

docker - 非root用户如何安装docker?

我正在使用CentOS6.9系统的高性能计算平台,我想在非root用户中使用docker。有没有一种方法可以让我从源代码构建docker并且不需要root权限? 最佳答案 这应该是不可能的,因为这将是一个主要的安全问题。在机器上安装docker后,具有docker访问权限的用户(不一定是root)可以启动容器。特别是,他们可以以特权模式启动容器,使容器能够访问所有主机设备。更重要的是,拥有docker访问权限的用户可以挂载机器root专有的目录。由于默认情况下,容器内的root用户将有权访问容器内挂载的root拥有的目录,这将允许由

python - 错误 : 'conda' can only be installed into the root environment

当我尝试安装python包seaborn时出现以下错误:condainstall--namedato-envseabornError:'conda'canonlybeinstalledintotherootenvironment这当然令人费解,因为我并没有尝试安装conda。我正在尝试安装seaborn。这是我的设置。我有3个python环境:dato环境py35根我之前成功安装了seaborn(使用命令condainstallseaborn),但它安装在根环境中(并且不适用于我正在使用的iPython笔记本dato环境)。我尝试在dato-env环境中安装seaborn,以便我的iP

python - 你怎么能 "clone"一个conda环境进入root环境?

我希望conda的根环境将所有包复制到另一个环境中。如何才能做到这一点? 最佳答案 可以选择将依赖项名称/url/版本复制到文件中。推荐通常,在新环境中工作比更改root更安全。但是,请考虑在尝试更改之前备份现有环境。通过在演示环境中测试这些命令来验证所需的结果。备份您的root环境,例如:λcondaactivaterootλcondaenvexport>environment_root.ymlλcondalist--explicit>spec_file_root.txt选项选项1-YAML文件在第二个环境中(例如myenv),e