Docker: Difference between revisions

From Fundamental Ramen
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
= Overview =
== Overview ==


{| class="wikitable"
{| class="wikitable"
Line 7: Line 7:
|-
|-
| valign="top" |
| valign="top" |
 
* [[Docker/Used Images List|Used Images List]]
| valign="top" |
| valign="top" |
 
* [[Docker/Clean Unused|Clean Unused]]
| valign="top" |
| valign="top" |
 
* [[Docker/Debugging|Debugging]]
|-
|-
! 🐳 docker-compose.yaml
! 🐳 docker-compose.yaml
Line 25: Line 25:
|}
|}


= Clean Docker =
== Installation ==
 
=== Ubuntu 26 ===
 
<syntaxhighlight lang="bash">
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo sh get-docker.sh --dry-run
docker --version
</syntaxhighlight>
 
== Clean Docker ==


{| class="wikitable"
{| class="wikitable"
Line 112: Line 123:
|}
|}


= Dockerfile Debugging =
== Dockerfile Debugging ==


{| class="wikitable"
{| class="wikitable"

Latest revision as of 02:03, 6 October 2026

Overview

🖼️ Images 🛠️ Maintenance ⚙️ Operation
🐳 docker-compose.yaml 📦 Dockerfile

Installation

Ubuntu 26

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo sh get-docker.sh --dry-run
docker --version

Clean Docker

TODO Command
Run debian image on Windows
# Git Bash
winpty docker run --name=debian0 -it debian:12

# Power Shell
docker run --name=debian0 -it debian:12
Open shell of running container
docker exec -it mwdev-mediawiki-1 /bin/bash
Copy file from running container
docker cp mwdev-mediawiki-1:/var/www/data/my_wiki.sqlite .
Build image
docker build .
docker build -t gdtile:2.1 .
docker tag c8abdb693116 gdtile:2.1
Remove exited containers
docker rm $(docker ps -f 'status=exited' -q)

sudo docker rm $(sudo docker ps -f 'status=exited' -q)
Remove unused images
docker rmi $(docker images -f "dangling=true" -q)

sudo docker rmi $(sudo docker images -f "dangling=true" -q)
run and start it again
docker run --name sandbox0 \
  --volume a:b \
  -it alpine:3.11
docker start -i sandbox0
Make apt faster
FROM ubuntu:20.04

RUN sed -i 's/\(archive\|security\).ubuntu.com/free.nchc.org.tw/' /etc/apt/sources.list
RUN apt update
# In host
docker run -it ubuntu:20.04
# In container
sed -i 's/\(archive\|security\).ubuntu.com/free.nchc.org.tw/' /etc/apt/sources.list
apt update
Run
# Mapping directory on Windows, do not use ~
docker run -v C:\Users\User\repos\something:/docroot -it someimage bash
docker run -v %USERPROFILE%\repos\webserv:/docroot -it webserv-compose_web bash
test
docker ps --size --all
logs
docker ps logs -ft container

Dockerfile Debugging

TODO Command
Verify environment variable
(stdout won't be printed)
RUN export NVM_DIR="$HOME/.nvm"
RUN echo "NVM_DIR=$NVM_DIR" >&2
docker compose build --progress=plain
docker compose build --no-cache --progress=plain