So via r/programming today: Modern storage is plenty fast. It is the APIs that are bad. and Anti-Patterns When Building Container Images.
Reading about how to Install Docker Engine on Ubuntu. I suppose it’s about time.
------------------- Thu Nov 11 20:38:18 [bash:5.0.17 jobs:0 error:0] root@tact:/home/jj5 # docker run hello-world Unable to find image 'hello-world:latest' locally latest: Pulling from library/hello-world 2db29710123e: Pull complete Digest: sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685 Status: Downloaded newer image for hello-world:latest Hello from Docker! This message shows that your installation appears to be working correctly. To generate this message, Docker took the following steps: 1. The Docker client contacted the Docker daemon. 2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64) 3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading. 4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal. To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/ For more examples and ideas, visit: https://docs.docker.com/get-started/
Today I am hoping to learn a little about Docker, and I have found this series of four articles I intend to read:
- Getting Started with Docker
- Docker essentials – Images and Containers
- Docker essentials – More work with images
- Docker Essentials – The docker file
I will also need to do some reading on Docker and MySQL.
Also Leo says: btw about docker, I’d prefer not to create new images for docker hub, I’d rather have the images get built directly on the server where it’s running. All from a single docker compose file, so probably just with docker compose build paths. Yes, ok so:
- I want a docker-compose.yml file in a folder, which would automatically build/start the relevant services
- leave room for an .env file with options like port and other relevant stuff (https://docs.docker.com/compose/environment-variables/)
- make the wiki image get built using a Dockerfile, probably located in one of the subfolders (https://email@example.com/how-to-understand-building-images-with-docker-compose-24cbdbc0641f)
- docker containers are supposed to be immutable (they arent, but should be treated as if they are). So make sure the docker-compose file lists all the relevant volume mounts (using relative paths on the host, so that they end up in the same folder as the docker compose file) to things like the database and other persistent data
though I guess the more general requirements would be:
- It should all be contained in a single folder (again, with a docker-compose.yml at the root of it most likely)
- I should be able to move the folder around wherever I want while the compose stack is down
- The containers shouldn’t contain any persistent data. I should be able to start, stop, delete, re-build any containers in the stack (probably only one container, but maybe you’ll include more) without any data being lost.