diff --git a/README.md b/README.md index b1d52a7..8113046 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ pairing with smart people at Hashrocket. For a steady stream of TILs, [sign up for my newsletter](https://crafty-builder-6996.ck.page/e169c61186). -_1375 TILs and counting..._ +_1376 TILs and counting..._ --- @@ -24,6 +24,7 @@ _1375 TILs and counting..._ * [CSS](#css) * [Deno](#deno) * [Devops](#devops) +* [Docker](#docker) * [Elixir](#elixir) * [Gatsby](#gatsby) * [Git](#git) @@ -184,6 +185,10 @@ _1375 TILs and counting..._ - [SSL Certificates Can Cover Multiple Domains](devops/ssl-certificates-can-cover-multiple-domains.md) - [Wipe A Heroku Postgres Database](devops/wipe-a-heroku-postgres-database.md) +### Docker + +- [Configure Different Host And Container Ports](docker/configure-different-host-and-container-ports.md) + ### Elixir - [All Values For A Key In A Keyword List](elixir/all-values-for-a-key-in-a-keyword-list.md) diff --git a/docker/configure-different-host-and-container-ports.md b/docker/configure-different-host-and-container-ports.md new file mode 100644 index 0000000..bf49ec2 --- /dev/null +++ b/docker/configure-different-host-and-container-ports.md @@ -0,0 +1,34 @@ +# Configure Different Host And Container Ports + +A `docker-compose.yml` file that sets up something like a PostgreSQL service +will proxy a port from your host machine to a port on the docker container. + +A basic PostgreSQL service will look like this tying `5432` to `5432` under the +`ports` section. + +```yaml +version: "3.7" +services: + postgres: + image: postgres:latest + restart: always + environment: + - POSTGRES_USER=postgres + - POSTGRES_PASSWORD=postgres + - POSTGRES_DB=postgres + ports: + - "5432:5432" + volumes: + - ./postgres-data:/var/lib/postgresql/data +``` + +Requests like queries from a `psql` instance that we send to `localhost:5432` +will be proxied to `docker-container:5432`. + +Since those numbers are the same on both sides, it's not necessarily clear +which is which. The left is the _host_ and the right is the _container_ -- +`[host-port]:[container-port]`. + +If you need to use a port other than 5432 on your host machine (e.g. maybe +you're running multiple Postgres servers at once), then you can just change the +port number on the left side. How about `9876:5432`.