系列教程丨用 Docker 探索开源软件 —— PostgreSQL(一)
出品丨Docker公司(ID:docker-cn)
编译丨小东
每周一、三、五,与您不见不散!
Docker 的一大优点是可以让您快速使用它来试用应用程序,而无需直接在开发人员的计算机上安装它。如果您不想在自己的计算机上安装 Java 或 erlang 等运行时环境,那么您就可以不安装它们,因为容器封装了所有依赖项,并在删除时可以不留下任何痕迹。在上一篇文章《系列教程丨用 Docker 探索开源软件 —— Redis》中,我们看到了“docker run”和“docker exec”命令的实际应用,今天,我将带来本系列第二篇文章,用 Docker 探索开源软件 —— PostgreSQL,它将给我们一个机会来看看 Docker Volumes 是如何运行的。
如果您已经安装了 Docker,则可以直接按照本教程中的命令进行操作。如果您还没有安装 Docker,那么有一个很好的选择是使用 Play with Docker,它可以让我们直接在浏览器中运行所有命令。
启动一个运行 PostgreSQL 的新容器
我们将使用“docker run”命令,用“postgres”官方镜像启动一个新容器,名称为“postgres1”,并公开端口5432(PostgreSQL 的默认值)。我们正在运行分离(-d)模式(在后台)。
我们同样用“-v”挂载一个 volume,它将用于存储我们创建的数据库。这个 volume 的名称是“postgres-data”,如果不存在具有此名称的 volume,Docker 将自动创建它(仅使用 Docker 主机上本地磁盘的存储)。
PostgreSQL 将其数据存储在“/var/lib/postgresql/data”中,因此我们将 volume 挂载到该路径。
docker run -d -p 5432:5432 -v postgres-data:/var/lib/postgresql/data ` --name postgres1 postgres
一旦我们完成了这一步,我们就可以开始检查它的运行情况了:
docker ps
查看日志输出:
docker logs postgres1
创建数据库
我们将创建一个数据库。一种简单的方法是使用“docker exec”命令在“postgres1”容器中启动一个交互式shell,其中安装了 PostgreSQL CLI 工具。这将使我们无需使用任何工具来连接和管理本地安装的 PostgreSQL 数据库。
docker exec -it postgres1 sh
在这个 shell 中,我们可以使用它创建一个名为“mydb”的新数据库。
# createdb -U postgres mydb
然后让我们启动“psql”实用工具,它是 PostgreSQL 的 CLI 工具,连接到我们的“mydb”数据库:
# psql -U postgres mydb
浏览数据库
现在,在“psql”中,让我们运行一些基本命令。“l”列出数据库。我们还可以查询数据库版本和当前日期:
mydb=# \l mydb=# select version(); mydb=# select current_date;
接下来,让我们来做一些更有趣的事情。我们将创建一个表:
mydb=# CREATE TABLE people (id int, name varchar(80)); CREATE TABLE
然后我们将在表中插入一行:
mydb=# INSERT INTO people (id,name) VALUES (1, 'Mark'); INSERT 0 1
最后,检查一下:
mydb=# SELECT * FROM people; id | name ----+------ 1 | Mark (1 row)
现在我们可以使用“q”退出“psql”以及我们的 shell:
mydb=# \q # exit
当然,我们的“postgres1”容器仍然在运行。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
关于ECS的简单介绍
ECS的简介 ECS的块存储介绍 ECS的快照介绍
- 下一篇
Docker资源限制与Cgroups
Docker资源限制与Cgroups 一、Linux control groups 简介 Linux CGroup全称Linux Control Group, 是Linux内核的一个功能,用来限制,控制与分离一个进程组群的资源(如CPU、内存、磁盘输入输出等)。这个项目最早是由Google的工程师在2006年发起(主要是Paul Menage和Rohit Seth),最早的名称为进程容器(process containers)。在2007年时,因为在Linux内核中,容器(container)这个名词太过广泛,为避免混乱,被重命名为cgroup,并且被合并到2.6.24版的内核中。 主要提供了如下功能: Resource limitation: 限制资源使用,比如内存使用上限以及文件系统的缓存限制。 Prioritization: 优先级控制,比如:CPU利用和磁盘IO吞吐。 Accounting: 一些审计或一些统计,主要目的是为了计费。 Control: 挂起进程,恢复执行进程。 CGroup的术语 任务(Tasks):就是系统的一个进程。 控制组(Control Group):...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2初体验,简单认识spring boot2并且搭建基础工程
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS关闭SELinux安全模块
- Linux系统CentOS6、CentOS7手动修改IP地址
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS7设置SWAP分区,小内存服务器的救世主