Golang后端学习笔记 — 2.安装Docker和Postgres

505 阅读3分钟

本章将学习

  • 如何安装 Docker Desktop
  • 下载并启动一个 Postgres 容器
  • 使用Navicat连接并管理 Postgres 数据库
  • 使用上一章生成的SQL脚本,创建 Database Schema

1、安装 Docker Desktop

打开Docker的官方网站,下载对应操作系统的版本,安装并启动它。 Docker操作菜单 打开终端,查看正在运行的Docker容器,输入 docker ps 命令 在这里插入图片描述 目前是个空列表,因为我们还没运行任何容器。 输入 docker images,可以看到镜像列表也是空的,我们还没下载任何容器。 本课程中,将使用postgres作为我们的数据库容器

1.1 下载postgres镜像

打开hub.docker.com/,搜索postgres,找到官方镜像,如下图: postgres官方镜像 通常使用带alpine后缀的版本,这样镜像的会比较小。这里,我们使用14-alpine版本,使用命令docker pull postgres:14-alpine,拉取这个镜像。 拉取postgres镜像 拉取镜像的语法是:docker pull <image>:<tag> 镜像下载完成后,输入 docker images 可以看到我们拉取的postgres镜像。 拉取的postgres镜像

1.2 启动postgres容器

启动容器的语法: docker run --name <container_name> -e <environment_variable> -p <host_port:container_port> -d <image>:<tag> 可以在刚才hub docker搜索出来的postgres页面上看到如下文档: postgres docker文档 --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容器 这样,postgres容器就启动好了,接下来,让我们尝试连接它并访问它的控制台。 使用命令docker exec -it <container_name_or_id> <command> [args],这条命令允许我们在正在运行的容器中运行一个特定的命令。 这里,我们使用命令 docker exec -it postgres14 psql -U root,进入postgres控制台: 命令进入postgres控制台 在控制台,输入一条SQL语句,select now();,来查看一下当前时间 输入,\q退出控制台。 查看容器日志 docker logs <container_name_or_id>, 这里,我们使用命令 docker logs postgres14查看一下日志,通过查看日志,我们可以知道容器里面发生了什么 查看postgres容器日志

2、安装使用 Navicat

进入Navicat官方网站, 可下载试用版本的Navicat,安装后打开。 新建一个本地postgres容器的连接, navicat连接postgres 新建一个Query,同样输入sql语句,select now(),运行它: navicat中运行sql语句

3、导入脚本SQL

把我们上一节中生成的SQL脚本复制进来,并运行它 执行SQL脚本 成功之后,会看到我们创建的表: 创建好的表

好了,本章内容到此结束,下一节,将学习如何在Golang中编写和运行数据库迁移(DB Migration)