Docker无法启动Postgresql容器

问题描述

拉取了一个Postgresql14.2的镜像,在docker run创建并运行容器之后使用docker ps发现容器没有跑起来,再次使用docker start也没跑起来。

docker run -d --name mypg -v psql-data:/var/lib/postgresql/data -e POSTGRES_USER=postgres -e POSTGRES_PASSWORD=admin -p 5432:5432 postgres:14.2

后面我尝试了以下的解决方案:

  1. 重启docker,删除容器之后再次docker run无法运行
  2. 修改指令,docker run -ddocker run -dit(后台运行→前台交互运行)→无法运行

解决问题

这时候只能看容器的日志了docker logs mypg(mypg是容器名)

[root@VM-8-9-centos lib]# docker logs mypg
ls: cannot access '/docker-entrypoint-initdb.d/': Operation not permitted

这样我就好百度解决问题了

原因: 权限问题。

解决:

  1. docker rm删除容器
  2. 重新run,并加上--privileged=true(让容器以privileged模式运行,即拥有几乎与主机(root)相同的权限)

注意: 使用--privileged=true选项可以让容器执行一些通常不能执行的操作,例如加载内核模块、直接操作硬件设备等。然而,这也带来了严重的安全隐患。由于privileged容器具有几乎与主机相同的权限,如果容器被恶意代码控制,攻击者可以轻易地突破容器的边界,对主机进行任意操作。
建议使用其他更细粒度的权限控制手段,例如通过 --cap-add--device 参数来分别添加必要的capabilities或设备访问权限。这样可以更好地控制容器的权限,并减少潜在的安全风险,如下。

docker run --cap-add SYS_ADMIN -d mypg [省略]

至于该配置什么权限,可以参考这篇博客:https://developer.aliyun.com/article/722230

相关推荐

  1. docker 容器中安装cron,却无法启动定时任务

    2024-01-08 05:18:06       36 阅读
  2. Docker 安装PostgreSQL容器

    2024-01-08 05:18:06       33 阅读
  3. DockerPostgreSQL 容器化部署

    2024-01-08 05:18:06       81 阅读
  4. Docker Compose 启动容器例子

    2024-01-08 05:18:06       24 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-08 05:18:06       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-08 05:18:06       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-08 05:18:06       82 阅读
  4. Python语言-面向对象

    2024-01-08 05:18:06       91 阅读

热门阅读

  1. Echarts

    2024-01-08 05:18:06       64 阅读
  2. TypeScript中interface与 type的区别

    2024-01-08 05:18:06       49 阅读
  3. 1/7文章

    1/7文章

    2024-01-08 05:18:06      46 阅读
  4. 高版本ant-design动态引用icon

    2024-01-08 05:18:06       54 阅读
  5. php中如何控制事务

    2024-01-08 05:18:06       52 阅读
  6. 安卓入门手册

    2024-01-08 05:18:06       42 阅读
  7. mac m1 goland调试模式踩坑记录

    2024-01-08 05:18:06       69 阅读
  8. git 常用命令 rebase发生冲突时 ☞ 撤销rebase

    2024-01-08 05:18:06       52 阅读
  9. Python练习之列表是否存在重复元素

    2024-01-08 05:18:06       55 阅读
  10. GB/T 34440-2017 硬质聚氯乙烯(SPC)地板

    2024-01-08 05:18:06       68 阅读
  11. YAML使用

    2024-01-08 05:18:06       55 阅读