加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

如何在Docker中的CentOS上运行PostgreSQL?

发布时间:2020-12-16 03:55:33 所属栏目:安全 来源:网络整理
导读:我运行了centos:7.1.1503然后yum install postgresql.不幸的是,由于系统问题我甚至在安装initscripts之后无法运行postgresql服务: Redirecting to /bin/systemctl start postgresql.service/usr/sbin/service: line 79: /bin/systemctl: No such file or d

我运行了centos:7.1.1503然后yum install postgresql.不幸的是,由于系统问题我甚至在安装initscripts之后无法运行postgresql服务:

Redirecting to /bin/systemctl start  postgresql.service
/usr/sbin/service: line 79: /bin/systemctl: No such file or directory
[root@8109c497195b ~]# yum provides systemctl  
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos2.hti.pl
 * extras: centos.komster.pl
 * updates: centos2.hti.pl
systemd-208-20.el7.x86_64 : A System and Service Manager
Repo        : base
Matched from:
Filename    : /bin/systemctl



systemd-208-20.el7_1.2.x86_64 : A System and Service Manager
Repo        : updates
Matched from:
Filename    : /bin/systemctl



systemd-208-20.el7_1.3.x86_64 : A System and Service Manager
Repo        : updates
Matched from:
Filename    : /bin/systemctl



systemd-208-20.el7_1.5.x86_64 : A System and Service Manager
Repo        : updates
Matched from:
Filename    : /bin/systemctl



systemd-208-20.el7.x86_64 : A System and Service Manager
Repo        : base
Matched from:
Filename    : /usr/bin/systemctl



systemd-208-20.el7_1.2.x86_64 : A System and Service Manager
Repo        : updates
Matched from:
Filename    : /usr/bin/systemctl



systemd-208-20.el7_1.3.x86_64 : A System and Service Manager
Repo        : updates
Matched from:
Filename    : /usr/bin/systemctl



systemd-208-20.el7_1.5.x86_64 : A System and Service Manager
Repo        : updates
Matched from:
Filename    : /usr/bin/systemctl



[root@8109c497195b ~]# yum install systemd     
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: centos2.hti.pl
 * extras: centos.komster.pl
 * updates: centos2.hti.pl
Resolving Dependencies
--> Running transaction check
---> Package systemd.x86_64 0:208-20.el7_1.5 will be installed
--> Processing Dependency: libcryptsetup.so.4(CRYPTSETUP_1.0)(64bit) for package: systemd-208-20.el7_1.5.x86_64
--> Processing Dependency: dbus for package: systemd-208-20.el7_1.5.x86_64
--> Processing Dependency: acl for package: systemd-208-20.el7_1.5.x86_64
--> Processing Dependency: libwrap.so.0()(64bit) for package: systemd-208-20.el7_1.5.x86_64
--> Processing Dependency: libqrencode.so.3()(64bit) for package: systemd-208-20.el7_1.5.x86_64
--> Processing Dependency: libcryptsetup.so.4()(64bit) for package: systemd-208-20.el7_1.5.x86_64
--> Running transaction check
---> Package acl.x86_64 0:2.2.51-12.el7 will be installed
---> Package cryptsetup-libs.x86_64 0:1.6.6-3.el7 will be installed
--> Processing Dependency: fipscheck-lib(x86-64) >= 1.3.0 for package: cryptsetup-libs-1.6.6-3.el7.x86_64
--> Processing Dependency: libfipscheck.so.1()(64bit) for package: cryptsetup-libs-1.6.6-3.el7.x86_64
---> Package dbus.x86_64 1:1.6.12-11.el7 will be installed
---> Package qrencode-libs.x86_64 0:3.4.1-3.el7 will be installed
---> Package tcp_wrappers-libs.x86_64 0:7.6-77.el7 will be installed
--> Running transaction check
---> Package fipscheck-lib.x86_64 0:1.4.1-5.el7 will be installed
--> Processing Dependency: /usr/bin/fipscheck for package: fipscheck-lib-1.4.1-5.el7.x86_64
--> Running transaction check
---> Package fipscheck.x86_64 0:1.4.1-5.el7 will be installed
--> Processing Conflict: fakesystemd-1-17.el7.centos.noarch conflicts systemd
--> Finished Dependency Resolution
Error: fakesystemd conflicts with systemd-208-20.el7_1.5.x86_64
 You could try using --skip-broken to work around the problem
** Found 1 pre-existing rpmdb problem(s),'yum check' output follows:
fakesystemd-1-17.el7.centos.noarch has installed conflicts systemd: fakesystemd-1-17.el7.centos.noarch

我现在能做什么?我正在考虑从头开始构建它并以这种方式工作.

最佳答案
不要打扰systemd,直接运行Postgres.下面显示了如何在基础Centos7容器中运行Postgres:

$docker run -it centos:centos7 /bin/bash
bash-4.2$yum install postgresql-server sudo
[..snip..]
bash-4.2$sudo -u postgres /usr/bin/initdb /var/lib/pgsql/data/
bash-4.2$sudo -u postgres /usr/bin/pg_ctl start 
   -D /var/lib/pgsql/data -s -o "-p 5432" -w -t 300
bash-4.2$ps -eo pid,args
  PID COMMAND
    1 /bin/bash
  118 /usr/bin/postgres -D /var/lib/pgsql/data -p 5432
  119 postgres: logger process   
  121 postgres: checkpointer process   
  122 postgres: writer process   
  123 postgres: wal writer process   
  124 postgres: autovacuum launcher process   
  125 postgres: stats collector process  

您可以将其放入Dockerfile以使其可重用.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读