本章将学习
- 如何安装
Docker Desktop
- 下载并启动一个
Postgres
容器 - 使用
Navicat
连接并管理Postgres
数据库 - 使用上一章生成的SQL脚本,创建
Database Schema
1、安装 Docker Desktop
打开Docker的官方网站,下载对应操作系统的版本,安装并启动它。
打开终端,查看正在运行的Docker容器,输入 docker ps
命令
目前是个空列表,因为我们还没运行任何容器。
输入 docker images
,可以看到镜像列表也是空的,我们还没下载任何容器。
本课程中,将使用postgres
作为我们的数据库容器
1.1 下载postgres
镜像
打开https://hub.docker.com/,搜索postgres
,找到官方镜像,如下图:
通常使用带alpine
后缀的版本,这样镜像的会比较小。这里,我们使用14-alpine
版本,使用命令docker pull postgres:14-alpine
,拉取这个镜像。
拉取镜像的语法是:docker pull <image>:<tag>
镜像下载完成后,输入 docker images
可以看到我们拉取的postgres
镜像。
1.2 启动postgres容器
启动容器的语法:
docker run --name <container_name> -e <environment_variable> -p <host_port:container_port> -d <image>:<tag>
可以在刚才hub docker
搜索出来的postgres
页面上看到如下文档:
--name
指定一个名字,-e
设置环境变量,这里用于指定一个密码,-d
代表让它在后台运行。
在Docker中,需要明确两个概念:镜像(images)和容器(container)。一个镜像是可以运行多个容器的。
这里使用命令
docker run --name postgres14 -e POSTGRES_PASSWORD=123456 -e POSTGRES_USER=root -p 5432:5432 -d postgres:14-alpine
启动指定版本的postgres
,密码先简单使用123456,指定root
为超级管理员,名字设置为postgres14
,指定映射端口 -p 5432:5432
,docker容器运行在单独的虚拟网络中。
运行后,我们使用docker ps
查看一下正在运行的容器。
这样,postgres
容器就启动好了,接下来,让我们尝试连接它并访问它的控制台。
使用命令:
docker exec -it <container_name_or_id> <command> [args]
,这条命令允许我们在正在运行的容器中运行一个特定的命令。
这里,我们使用命令 docker exec -it postgres14 psql -U root
,进入postgres
控制台:
在控制台,输入一条SQL语句,select now();
,来查看一下当前时间
输入,\q
退出控制台。
查看容器日志
docker logs <container_name_or_id>
, 这里,我们使用命令 docker logs postgres14
查看一下日志,通过查看日志,我们可以知道容器里面发生了什么
2、安装使用 Navicat
进入Navicat官方网站, 可下载试用版本的Navicat,安装后打开。
新建一个本地postgres
容器的连接,
新建一个Query
,同样输入sql语句,select now()
,运行它:
3、导入脚本SQL
把我们上一节中生成的SQL脚本复制进来,并运行它
成功之后,会看到我们创建的表:
好了,本章内容到此结束,下一节,将学习如何在Golang
中编写和运行数据库迁移(DB Migration)