Add docker/cloud_run.nix
I'm attempting to setup my blog using the following: - Google Cloud Run: I whitelist a docker image that packages my application and then Google runs it "statelessly" (i.e. without persistence). The stateless part should be fine for the time being. - Nix: Using `<nixpkgs>.dockerTools.buildLayeredImage` to output docker images from Nix expressions. - Docker: Upload the output image from the Nix expressions and upload it to Google Container Registry from which it can be run from Google Cloud Run. Some helpful commands: ```shell > sudo gcloud auth login > nix-build ./docker/cloud_run.nix > sudo docker image import ./result > sudo docker tag <name> gcr.io/<google-cloud-project-id>/<name>:<tag> > sudo docker push gcr.io/<google-cloud-project-id>/<name>:<tag> ``` I'm unsure if Google Cloud Run is my desired end goal, but it may help me publish a blog faster than setting up a Kubernetes cluster, which is what I'd ultimately like to do. Cloud Run should be cheaper financially and time-wise.
This commit is contained in:
parent
af26b6a181
commit
bacaa0ca8a
1 changed files with 9 additions and 0 deletions
9
docker/cloud_run.nix
Normal file
9
docker/cloud_run.nix
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Attempting to build a Docker image with Nix to run using Google Cloud Run.
|
||||
{ pkgs ? import <nixpkgs> {}, ... }:
|
||||
|
||||
pkgs.dockerTools.buildLayeredImage {
|
||||
name = "mysql";
|
||||
tag = "latest";
|
||||
config.Cmd = [ "${pkgs.mysql}/bin/mysqld" ];
|
||||
maxLayers = 120;
|
||||
}
|
Loading…
Reference in a new issue