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
文章图片
当docker操作postgresql新建表空间时,需要进入容器操作 并使用postgres用户创建文件夹
docker exec -it 容器image /bin/bash
su - postgres
mkdir systempsql 数据库用户名称
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/config
SELINUX=enforcing改为SELINUX=disabled
当想要新建数据库中需要的文件夹时,一定要是进入容器,并且使用固定用户postgres创建,否则就会抛出没有权限的异常2.安装使用可视化界面 这时候小伙伴就问了,难受每种中间件都需要直接命令吗,这样也不方便啊,所以docker也提供了可视化界面,这里推荐使用portainer。可以在其中选择容器类型后,直接安装。
1.下载镜像
docker pull portainer/portainer
2.中文汉化
如果需要汉化可以在网盘上下载:
- 链接:https://pan.baidu.com/s/1ExFI... \
- 提取码: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 portainerportainer/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容器中
- 【docker入门(postgresql安装及可视化界面portainer使用)】–name portainer : 给容器起名为portainer
4.登录
请登录ip:9000(上文启动的端口)首次登录需要设置密码。
文章图片
选择local
文章图片
然后就可以进入页面了。
推荐阅读
- Docker应用:容器间通信与Mariadb数据库主从复制
- typeScript入门基础介绍
- docker镜像探索----dive工具
- Android|Android sqlite3数据库入门系列
- Android下的IO库-Okio源码解析(一)|Android下的IO库-Okio源码解析(一) 入门
- 深度学习-入门
- 第三章|第三章 进校园重拾旧梦 登讲台初为人师第一节 接乱班面临考验 ,遇高师指点入门
- iOS开发技术之美—iOS入门技术的基础学习
- OpenCV|OpenCV-Python实战(18)——深度学习简介与入门示例
- 【入门】Python网络爬虫与信息提取1