当今容器运行应用已经越来越火,只要主机上能运行 Docker,就可以通过镜像来运行应用,不需要考虑环境是否满足应用的运行条件。今天就给大家分享一下使用镜像运行 ivorysql 数据库。如果你容器运行过 postgresql,那就比较容易上手了,几乎是一样的体验,稍微有点差别,后面会说明。
友情提示:这里的镜像不是官方制作,仅供测试体验。
Here we go!!! >>>
这里笔者的环境是CentOS7.9和Windows10。
CentOS7.9 推荐使用 YUM 安装。
安装yum-utils包(它提供实用程序“yum-config-manager”)并设置资源库。
sudo yum install -y yum-utils &&
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装最新版本的Docker Engine、containerd和Docker Compose:
sudo yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
这个命令会安装 Docker,但不会启动 Docker。
启动命令:
systemctl start docker
这里提供参考连接:Windows Docker 安装,不再详细描述步骤。
构建使用的Dockerfile和docker-entrypoint.sh文件已经上传GitHub,感兴趣的可以下载自己构建。
Github链接:https://github.com/blatwo/dockerfiles/tree/main/ivorysql/centos7-x86_64
构建命令:
docker build -t ivorysql:v2.1 .
本章节根据上面两个 Docker 环境分别说明如何运行。笔者根据前面的构建脚本已经构建好并上传到了docker hub可以在线直接使用。
Linux 环境的 Docker 在线构建示例:
docker run -dit --name=my-ivorysql -p 5333:5333 \
-v /home/ivorsql-2/data:/var/lib/ivorysql/ivorysql-2/data \
-e TZ="Asia/Shanghai" \
-e LANG="en_US.utf8" \
-e POSTGRES_HOST_AUTH_METHOD="md5" \
-e POSTGRES_INITDB_ARGS="-E 'UTF8' --compatible-mode=oracle" \
-e POSTGRES_PASSWORD="666666" \
rogerq/ivorysql
Windows10 环境的 Docker desktop 在线构建示例:
docker run -dit --name=my-ivorysql -p 5333:5333 `
-v D:\dockerdata\ivorsql-2\data:/var/lib/ivorysql/ivorysql-2/data `
-e TZ="Asia/Shanghai" `
-e LANG="en_US.utf8" `
-e POSTGRES_HOST_AUTH_METHOD="md5" `
-e POSTGRES_INITDB_ARGS="-E 'UTF8' --compatible-mode=oracle" `
-e POSTGRES_PASSWORD="666666" `
rogerq/ivorysql
说明
由于不同版本的 data 目录路径不一样,最新的v2.1对应的是/var/lib/ivorysql/ivorysql-2/data;
如果选择v1.5,请使用:/var/lib/ivorysql/ivorysql-1/data;
如果要多个 ivorysql 同时运行于同一台宿主机,注意本地端口和存储路径要不同;
--name=ivorysql:指明容器的名称,后面对容器的操作可以使用这个名称来标识;
使用选项-p 将容器端口(右边端口号5333)映射到宿主机(左边端口号),然后可以通过宿主机的端口服务访问;
使用选项-v将容器的目录映射到宿主机的存储路径,这样就不用担心丢失数据;
环境变量POSTGRES_PASSWORD用来指定==DBA用户==的密码;
如果要默认开启==Oracle==模式,则修改环境变量:-e POSTGRES_INITDB_ARGS="==-E 'UTF8' --compatible-mode=oracle=="。
容器运行的 ivorysql 只配置了listen_addresses,和客户端验证允许外部主机访问。
额外的配置操作可以通过客户端工具执行命令,或者有必要则进入容器修改,进入容器的命令如下:
docker exec -it ivorysql bash
先从宿主机登录psql:
docker exec -it ivorysql gosu ivorysql psql
然后就可以执行psql相关命令了。例如:查看版本
ivorysql=# select version();
version
------------------------------------------------------------------------------------------------
PostgreSQL 15.2 (IvorySQL 2.2) on x86_64-pc-linux-gnu, compiled by gcc (GCC) 4.8.5 20150623 (Red Hat 4.8.5-44), 64-bit
(1 row)
改完配置,如果需要重启,则重启一下容器即可。重启命令如下:
docker restart ivorysql
<<< There you go!!!
使用 Docker 镜像运行 IvorySQL 数据库是一种简单且有效的管理数据库环境的方法。通过使用 Docker,你可以确保数据库在不同系统上一致地运行,并且可以轻松部署和管理。使用 Docker 运行 IvorySQL 数据库可以简化开发和运维流程,并且可以提高应用程序的可移植性和可扩展性。总之,使用 Docker 镜像运行IvorySQL数据库是一种高效和实用的方法。
笔者水平有限,有技术问题可以留言,感谢阅读😊。
Content type
Image
Digest
sha256:1f55b3589…
Size
193.6 MB
Last updated
over 3 years ago
docker pull rogerq/ivorysql