系列教程丨用 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”容器仍然在運行。
總結
以上是生活随笔為你收集整理的系列教程丨用 Docker 探索开源软件 —— PostgreSQL(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (JAVA)String常用的方法
- 下一篇: 英伟达收购Mellanox接近尾声,将成