本章将学习
- 如何安装
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)
|