Centos7中docker开启远程访问(Centos7 docker remote access configure)

首先,centos中docker的配置不同于ubuntu,在centos中没有/etc/default/docker,另外在centos7中也没有找到/etc/sysconfig/docke这个配置文件。

参考了网上的文章,配置好了centos7的docker远程访问,配置过程如下。


在作为docker远程服务的centos7机器中配置:

1、在/usr/lib/systemd/system/docker.service,配置远程访问。主要是在[Service]这个部分,加上下面两个参数

[plain]  view plain  copy
  1. # vim /usr/lib/systemd/system/docker.service  
  2. [Service]  
  3. ExecStart=  
  4. ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock  


2、docker重新读取配置文件,重新启动docker服务

# systemctl daemon-reload

# systemctl restart docker

3、查看docker进程,发现docker守护进程在已经监听2375的tcp端口

[plain]  view plain  copy
  1. # ps -ef|grep docker  
  2. root     26208     1  0 23:51 ?        00:00:00 /usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock  
4、查看系统的网络端口,发现tcp的2375端口,的确是docker的守护进程在监听

[plain]  view plain  copy
  1. # netstat -tulp  
  2. Active Internet connections (only servers)  
  3. Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name      
  4. tcp        0      0 0.0.0.0:ssh             0.0.0.0:*               LISTEN      886/sshd              
  5. tcp6       0      0 [::]:2375               [::]:*                  LISTEN      26208/dockerd      

5、这里拿本地的ubuntu做客户端,来访问阿里云上centos7的docker服务,访问成功。139.129.130.123是阿里云上的centos7机器公网ip。

[plain]  view plain  copy
  1. $ sudo docker -H tcp://139.129.130.123:2375 images  
  2. REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE  
  3. mysql               5.6                 f8fe303bcac2        4 days ago          298MB   

注意:生产环境最好将这个关掉,或者做好安全的配置

<think>好的,用户现在想在CentOS 7上安装特定版本的PostgreSQL数据库。之前他们问过关于安装高斯数据库的问题,我之前提供了详细的步骤。现在需要处理这个新的请求,但需要结合提供的引用内容。 首先,用户提到的引用[1]和[3]是关于通过Yum仓库安装PostgreSQL,而引用[2]和[4]提到了DockerCentOS 6的安装方法。但用户明确说要在CentOS 7上安装特定版本,所以可能需要优先考虑Yum安装方式,因为Docker可能不是用户的主要需求,但作为备选方案。 需要确认用户想要的PostgreSQL版本,比如12、13或其他。根据引用[1],CentOS 7使用Yum安装postgresql12,所以可能需要指导用户添加官方仓库,然后安装指定版本。 另外,用户之前安装高斯数据库时,步骤包括关闭防火墙、配置用户等,但PostgreSQL的安装可能不需要这些步骤,但可能需要初始化数据库和启动服务。需要注意不同数据库之间的差异,避免混淆。 用户可能需要知道如何选择版本,如何添加仓库,安装后如何初始化和启动服务,以及如何远程访问等。还需要注意可能的依赖问题,比如引用[1]中提到的安装postgresql12-server,可能需要先启用正确的仓库。 另外,引用[3]中的URL是PostgreSQL的官方仓库,需要指导用户下载并安装该仓库的RPM包,以便能够访问特定版本的软件包。 还要考虑用户可能遇到的常见问题,比如仓库配置错误、依赖缺失、服务启动失败等,需要提供相应的解决方案。例如,如果安装时出现依赖错误,可能需要安装其他依赖包。 最后,用户可能需要验证安装是否成功,比如通过连接到数据库并执行简单命令。同时,提供Docker安装方法作为备选,适合需要快速部署或测试不同版本的情况。</think>### CentOS 7 安装指定版本 PostgreSQL 分步指南 #### 方法一:通过官方 YUM 仓库安装(推荐) 1. **添加 PostgreSQL 官方仓库** ```bash sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm # [^3] ``` 2. **查看可用版本** ```bash yum list postgresql* --showduplicates | grep server ``` - 输出示例: ``` postgresql12-server.x86_64 12.15-1PGDG.rhel7 pgdg12 postgresql13-server.x86_64 13.11-1PGDG.rhel7 pgdg13 ``` 3. **安装指定版本(以 PostgreSQL 12 为例)** ```bash sudo yum install -y postgresql12-server postgresql12-contrib # [^1] ``` 4. **初始化数据库** ```bash sudo /usr/pgsql-12/bin/postgresql-12-setup initdb ``` 5. **启动服务并设置开机自启** ```bash sudo systemctl enable postgresql-12 sudo systemctl start postgresql-12 ``` --- #### 方法二:源码编译安装(精确控制版本) 1. **下载指定版本源码包** ```bash wget https://ftp.postgresql.org/pub/source/v12.15/postgresql-12.15.tar.gz tar -zxvf postgresql-12.15.tar.gz ``` 2. **安装编译依赖** ```bash sudo yum install -y gcc readline-devel zlib-devel openssl-devel systemd-devel ``` 3. **编译安装** ```bash cd postgresql-12.15 ./configure --prefix=/usr/local/pgsql-12 make sudo make install ``` 4. **创建专用用户** ```bash sudo useradd postgres sudo mkdir -p /usr/local/pgsql-12/data sudo chown postgres:postgres /usr/local/pgsql-12/data ``` --- #### 方法三:Docker 容器部署(快速隔离环境) ```bash # 拉取指定版本镜像(以 12.x 为例) sudo docker pull postgres:12-alpine # 启动容器并映射端口 sudo docker run --name pg12 \ -e POSTGRES_PASSWORD=mysecretpassword \ -p 5432:5432 \ -v /data/pgdata:/var/lib/postgresql/data \ -d postgres:12-alpine # [^2] ``` --- #### 版本验证与基础配置 1. **检查版本信息** ```bash psql --version ``` 2. **修改监听地址** ```bash sudo vi /var/lib/pgsql/12/data/postgresql.conf ``` ```conf listen_addresses = '*' # 允许远程连接 ``` 3. **配置访问权限** ```bash sudo vi /var/lib/pgsql/12/data/pg_hba.conf ``` 添加规则: ```conf host all all 0.0.0.0/0 md5 ``` 4. **重启服务生效** ```bash sudo systemctl restart postgresql-12 ``` --- #### 版本切换注意事项 1. **多版本共存** ```bash sudo alternatives --config psql # 选择默认版本 ``` 2. **数据目录隔离** 不同版本必须使用独立数据目录(如 `/var/lib/pgsql/12/data` 和 `/var/lib/pgsql/13/data`) --- #### 常见问题解决 1. **依赖冲突错误** ```bash sudo yum remove postgresql* # 清理旧版本 sudo yum clean all # 清除缓存 ``` 2. **端口占用冲突** ```bash sudo netstat -tulnp | grep 5432 sudo systemctl stop postgresql-XX # 停止冲突服务 ``` 3. **忘记密码重置** ```bash sudo -u postgres psql ALTER USER postgres WITH PASSWORD 'new_password'; ``` --- ### 版本选择建议表 | 版本 | 适用场景 | 维护状态 | |--------|--------------------------|----------------| | 12.x | 稳定生产环境 | 支持至 2024/11 | | 13.x | 需要 JSONB 增强功能 | 支持至 2025/11 | | 14.x | 最新性能优化特性 | 支持至 2026/11 | | 15.x | 实验性新功能测试环境 | 长期支持 | --- ### 引用说明 [^1]: PostgreSQL 官方 RPM 仓库安装标准流程 [^2]: Docker 化部署 PostgreSQL 的通用实践方法 [^3]: pgdg-redhat-repo 仓库配置要求
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值