
But Docker apparently allows you to run and build containers that are multiarchitecture.
He has some docker images which will not build on Apple AARCH64 (aka Arm64) architecture because they are so old. Pull the postgres image from, spent an hour with Alex working on this problem.
for more information, see the Docker Compose file reference. Even if the container and image are deleted, the volume will remain unless explicitly deleted using docker volume rm. uses a named volume, "my_dbdata", for storing the database data using the volumes key. connects port 5432 inside Docker as port 54320 on the host machine using the ports key. sets the postgres superuser password to "my_password" using the environment key and the POSTGRES_PASSWORD environment variable. creates a container named "my_postgres" using the container_name key. uses the postgres:13 image from using the image key. sets up a service named "db" (this name can be used with docker-compose commands). sets the postgres superuser password to "my_password" using -e and the POSTGRES_PASSWORD environment variable.Ĭreate a new file docker-compose.yml: version: "3". uses the -d flag to run in the background. exposes port 54320 to the host using -p. uses a named volume, my_dbdata, to store postgres data. uses the official docker postgres 13 image. Install Docker ¶Īlternatively, you can install Docker using Homebrew: brew install homebrew/cask/docker OPTION 1: Run Postgres using a single Docker command ¶ Run a postgres container
I also wrote some notes on Postgres and Homebrew here. Currently I use the Homebrew Postgres for work, and Postgres in Docker for personal projects. We use Docker extensively at work, so from a mental overhead point of view, it's something I wanted to learn anyways. Admittedly, I didn't know Homebrew well, but it was frustrating.) Disadvantages of Docker are it's another layer of abstraction to learn and interact with. (I previously had a problem where Homebrew upgraded Postgres when I didn't expect it to and my existing database became incompatible. Running in Docker allows keeping my database environment isolated from the rest of my system and allows running multiple versions and instances. These are my notes for running Postgres in a Docker container for use with a local Django or Rails development server running on the host machine (not in Docker). Date: | Modified: | Tags: docker, linux, mac, sql