windows下vmware虚拟机安装linux和docker环境,开启postgrest。

1.下载安装VMware pro 链接:https://pan.baidu.com/s/10XQhOZLt4dfo9tiYq8-84w
提取码:ibod
2.下载cent os镜像:http://vault.centos.org/7.2.1511/isos/x86_64/ 中的CentOS-7-x86_64-DVD-1511.torrent
3.vm新建虚拟机时选择下载好的iso镜像,利用简单模式创建,输入用户密码,一路安装
4.进入系统,左上角Applications-Terminal启动控制台
5.切换root权限,输入密码,即可以使用sudo。进行docker安装,步骤https://docs.docker.com/install/linux/docker-ce/centos/
依次执行

su
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
yum update

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

sudo yum install docker-ce docker-ce-cli containerd.io

开始下载一路y。

docker version
检查版本和是否安装正常

sudo systemctl start docker
启动

6.拉取postgres镜像(已配置安装好pg数据库),-d为后台运行,设置密码环境变量,docker命名为tutorial,将容器内的5432端口隐射到本机5433端口。

sudo docker run --name tutorial -p 5433:5432 \
                -e POSTGRES_PASSWORD=mysecretpassword \
                -d postgres

7.浏览器访问https://github.com/PostgREST/postgrest/releases/latest
下载postgrest-v6.0.2-centos7.tar.xz 到home/user/Downloads
进入目录,解压

cd /home/user/Downloads
tar xfJ postgrest-v6.0.2-centos7.tar.xz
sudo yum install postgresql-libs
./postgrest

正常的话已经可以看到命令帮助和示例
8.打开容器内的psql命令交互
sudo docker exec -it tutorial psql -U postgres
参考文档创建 http://postgrest.org/en/v6.0/tutorials/tut0.html#step-4-create-database-for-api

create schema api;

create table api.todos (
  id serial primary key,
  done boolean not null default false,
  task text not null,
  due timestamptz
);

insert into api.todos (task) values
  ('finish tutorial 0'), ('pat self on back');
  
create role web_anon nologin;

grant usage on schema api to web_anon;
grant select on api.todos to web_anon;

create role authenticator noinherit login password 'mysecretpassword';
grant web_anon to authenticator;

\q

9.创建配置文件

touch tutorial.conf
vi tutorial.conf

insert插入下面三行配置信息

db-uri = "postgres://authenticator:mysecretpassword@localhost:5433/postgres"
db-schema = "api"
db-anon-role = "web_anon"

esc后输入:wq保存
10.启动服务器
./postgrest tutorial.conf
启动正常,服务器监听3000端口,信息为:
Listening on port 3000
Attempting to connect to the database…
Connection successful
本命令行窗口不要关闭,关闭的话服务器就停止了。

11.开新命令行窗口测试连接
curl http://localhost:3000/todos
对todos表发一个get请求,返回之前插入的两条记录。

12.cent os 7 防火墙开放3000端口,重启防火墙

su
firewall-cmd --state
firewall-cmd --zone=public --add-port=3000/tcp --permanent
systemctl restart firewalld.service

此时在windows下请求http://192.168.61.128:3000/todos
测试是否可以获取到数据

13.docker相应命令
重启虚拟机后的启动命令:

su
systemctl start docker
docker start tutorial
docker ps
cd Downloads/
./postgrest tutorial.conf 

新建最小镜像

docker run -it --name base alpine sh
mkdir postgrest
exit

查看当前网络
docker network ls
创建自定义网络

你可能感兴趣的:(PostgREST)