【问题标题】:Using Docker to chown a container directory (ubuntu - mysql/mysql-server)使用 Docker chown 容器目录 (ubuntu - mysql/mysql-server)
【发布时间】:2020-10-17 17:35:04
【问题描述】:

我正在尝试使用 /var/lib/mysql/ 目录实例化一个 mysql 容器,该目录具有适当的权限和所有权,以便从我的旧 mysql 服务器 COPY 绑定 sql 转储。但是由于 /var/lib/mysql/ 拥有其权限和所有权,容器在挂载时退出。所以我试图在实例化容器时改变这个目录的权限和所有权。但事实证明这很困难......

目标:rwxr-xr-x mysql:root /var/lib/mysql

配置:

  1. Docker 文件: FROM mysql/mysql-server
    运行 chmod 755 /var/lib/mysql
    运行 chown -R mysql:root /var/lib/mysql/

  2. 图片: 存储库标签图像 ID 创建大小
    wat 1.0 09edc2e9d91d 大约一小时前 381MB
    mysql/mysql-server 最新 716286be47c6 2 个月前 381MB

  3. docker-compose.yml: 版本:“3”
    服务:
    mysqlmysql-服务器:
    图片:wat:1.0
    容器名称:mysqlmysql-server

处理中...

$docker ps
容器 ID 图像命令创建状态端口名称
b21339cf2986 wat:1.0 "/entrypoint.sh mysq..." 11 分钟前 Up 11 分钟(健康)3306/tcp, 33060/tcp mysqlmysql-server

b21339cf2986#ls /var/lib -al | grep -e mysql$
drwxr-x--- 7 mysql mysql 4096 Jun 27 04:06 mysql

这是错误的。我现在至少期待 rwxr-xr-x 和/或 mysql:root

拆解/广场 1 ##

$ sudo docker stop *;须藤码头rm *; sudo 码头工人图像 rmi *; sudo docker pull mysql/mysql-server
$ sudo docker build --tag wat:1.0 - 成功构建 2a38f54299d8
成功标记 wat:1.0
$sudo docker images
存储库标签图像 ID 创建大小
wat 1.0 2a38f54299d8 大约一分钟前 381MB
mysql/mysql-server 最新 716286be47c6 2 个月前 381MB

$sudo docker-compose up -d
$sudo docker ps
容器 ID 图像命令创建状态端口名称
b94f9e776d78 wat:1.0 "/entrypoint.sh mysq..." 大约一分钟前 Up 59 seconds (healthy) 3306/tcp, 33060/tcp mysqlmysql-server

$sudo docker exec -it b94f9e776d78 bash
bash-4.2# ls /var/lib -al | grep -e ql$ drwxr-x--- 6 mysql mysql 4096 Jun 27 04:27 mysql

以上是错误的

目标:rwxr-xr-x mysql:root /var/lib/mysql

【问题讨论】:

    标签: docker docker-compose dockerfile


    【解决方案1】:

    Docker 集线器mysql/mysql-server 图像declares a VOLUME /var/lib/mysql。这意味着subsequent Dockerfile steps can't make any further changes to that directory

    实际上,您几乎总是会在该目录上挂载您自己的存储。当您这样做时,该存储(主机目录或 Docker 命名卷)的内容和权限将隐藏 Dockerfile 所做的任何事情。 Docker Hub mysql image page 有“以任意用户身份运行”的说明,可以让您使用与主机目录所有者匹配的用户 ID 运行容器;这些说明可能适用于您正在使用的备用图片,也可能不适用。

    【讨论】:

      猜你喜欢
      • 2022-08-09
      • 1970-01-01
      • 2017-02-19
      • 1970-01-01
      • 1970-01-01
      • 2015-11-26
      • 2017-07-03
      • 2017-02-04
      • 2022-01-09
      相关资源
      最近更新 更多