写点什么

docker 入门:postgresql 安装及可视化界面 portainer 使用

用户头像
小黄鸡1992
关注
发布于: 2021 年 08 月 03 日
docker入门:postgresql安装及可视化界面portainer使用

数据库作为项目必不少的一部分,小伙伴们无论在日常开发或者私活中都要接触,而且 oracle,postgresql 等数据库相对更加的复杂与繁琐,

1.安装数据库

1.拉取镜像

docker pull postgres:13.0 //版本号自己掌握
复制代码

2.启动容器

docker run --name postgres -e POSTGRES_PASSWORD=password -p 5432:5432 -v /usr/local/postgresql/data:/var/lib/postgresql/data -d postgres:13.0
复制代码


参数解释:


  • run: 创建并运行一个容器;

  • --name postgres: 指定创建的容器的名字;

  • -e POSTGRES_PASSWORD=password: 设置环境变量,指定数据库的登录口令为 password;

  • -p 5432:5432: 端口映射将容器的 5432 端口映射到外部机器的 5432 端口;

  • -v /usr/local/postgresql/data:/var/lib/postgresql/data 将/usr/local/postgresql/data 挂载到容器的/var/lib/postgresql/data 文件中,俗话讲这两个文件夹拥有相同数据。

  • -d postgres 指定使用 postgres 作为镜像。


登录的初始用户:postgres 登录的初始密码:password

3.查看容器

docker ps 
复制代码


4.创建表空间

当 docker 操作 postgresql 新建表空间时,需要进入容器操作 并使用 postgres 用户创建文件夹


docker exec -it 容器image /bin/bashsu - postgresmkdir system

psql 数据库用户名称create tablespace 表空间名 owner 拥有者 location '在容器中的路径名';例:create tablespace systme owner admin location '/var/lib/postgresql/data/system';建议在每建立一个表空间下都在/var/lib/postgresql/data下新一个文件夹(本处新建了system),因为新建时会在路径下新建一个PG_13_日期的文件夹,有可能重复
复制代码

5.异常

如果抛出以下异常


changing ownership of '.': Permission denied或者chmod: changing permissions of '/var/lib/postgresql/data': Permission denied
复制代码


需要关闭 SELinux


getenforce #查看SELinux状态 permissive关闭状态 enforcing开启状态setenforce 0 #临时关闭 setenforce 1 #临时开启  //永久关闭修改 /etc/selinux/configSELINUX=enforcing改为SELINUX=disabled
复制代码


当想要新建数据库中需要的文件夹时,一定要是进入容器,并且使用固定用户 postgres 创建,否则就会抛出没有权限的异常

2.安装使用可视化界面

这时候小伙伴就问了,难受每种中间件都需要直接命令吗,这样也不方便啊,所以 docker 也提供了可视化界面,这里推荐使用 portainer。可以在其中选择容器类型后,直接安装。

1.下载镜像

docker pull portainer/portainer
复制代码

2.中文汉化

如果需要汉化可以在网盘上下载:

  • 链接:https://pan.baidu.com/s/1ExFIxfg6OWb3y_t19pkRyg \

  • 提取码:vsb4 \

  • 解压后 放在根目录的下,见下图。

3.启动

docker run -d -p 9000:9000 --restart=always  -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data -v /public:/public --name portainer  portainer/portainer
复制代码


参数说明:


  • -d:容器在后台运行;

  • -p 9000:9000 :宿主机 9000 端口映射容器中的 9000 端口

  • –restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认是不会重启。

  • –restart=always:自动重启该容器

  • -v /var/run/docker.sock:/var/run/docker.sock :把宿主机的 Docker 守护进程(Docker daemon)默认监听的 Unix 域套接字挂载到容器中

  • -v /public:/public :把宿主机 public 文件夹映射到 docker 容器中

  • –name portainer : 给容器起名为 portainer

4.登录

请登录 ip:9000(上文启动的端口)首次登录需要设置密码。



选择 local



然后就可以进入页面了。

用户头像

小黄鸡1992

关注

还未添加个人签名 2021.07.13 加入

还未添加个人简介

评论

发布
暂无评论
docker入门:postgresql安装及可视化界面portainer使用