Files
.infineon/_-Review/docker.md
2024-11-06 12:39:13 -07:00

357 lines
19 KiB
Markdown

---
created: 2024-01-06T01:25:36.179Z
type: topic
updated: 2024-07-23T15:00:43.740Z
---
# Docker
[Windows Subsystem for Linux (wsl)](wsl.md)
```bash Mike
sudo -i
id
sudo -i
docker run hello-world
id
compgen -u
compgen -g
id
usermod -a -G docker mike
sudo -i
id
sudo usermod -a -G docker mike
id
exit
id
docker run hello-world
nano .bash_history
sudo -i
exit
```
```bash Mon Jul 01 2024 19:05:44 GMT-0700 (Mountain Standard Time)
# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl -y
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
id
exit
docker run hello-world
exit
sudo usermod -a -G docker logan-phares
newgrp docker
exit
nano .bash_history
docker version compose
docker compose version
exit
```
```bash Wed Jun 26 2024 11:42:59 GMT-0700 (Mountain Standard Time)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
# dockerd-rootless-setuptool.sh install
# https://docs.docker.com/go/rootless/
sudo usermod -aG docker $USER
newgrp docker
docker run hello-world
docker save hello-world -o hello-world-save.tar
mkdir ~/hw-s
tar -x -f hello-world-save.tar --directory ~/hw-s
rm -R ~/hw-s
docker ps -a
docker export 8007440050bd -o hello-world-export.tar
mkdir ~/hw-e
tar -x -f hello-world-export.tar --directory ~/hw-e
rm -R ~/hw-e
docker rm {name}
```
```bash
# https://github.com/fabiofalci/export-docker
git clone https://github.com/fabiofalci/export-docker.git
cd export-docker
sudo ./export-container.py hello-world hello-world-container
```
```bash Wed Jun 26 2024 13:32:58 GMT-0700 (Mountain Standard Time)
# https://docs.docker.com/build/exporters/oci-docker/
docker buildx build --output type=oci[,parameters] .
```
```bash Wed Jun 26 2024 17:13:43 GMT-0700 (Mountain Standard Time)
docker export 99ff1be8661a | gzip > immich_server_export.tar.gz
docker export 894b4ea7e898 | gzip > immich_redis_export.tar.gz
docker export 74eae9636bbb | gzip > immich_machine_learning_export.tar.gz
docker export 753c3f9a3f72 | gzip > immich_postgres_export.tar.gz
```
| CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES |
|--------------|----------------------------------------------------|------------------------|---------------|------------------------|-------------------------------------------|-------------------------|
| 99ff1be8661a | ghcr.io/immich-app/immich-server:release | "tini -- /bin/bash s…" | 5 minutes ago | Up 5 minutes (healthy) | 0.0.0.0:2283->3001/tcp, :::2283->3001/tcp | immich_server |
| 894b4ea7e898 | redis:6.2-alpine | "docker-entrypoint.s…" | 5 minutes ago | Up 5 minutes (healthy) | 6379/tcp | immich_redis |
| 74eae9636bbb | ghcr.io/immich-app/immich-machine-learning:release | "tini -- ./start.sh" | 5 minutes ago | Up 5 minutes (healthy) | | immich_machine_learning |
| 753c3f9a3f72 | tensorchord/pgvecto-rs:pg14-v0.2.0 | "docker-entrypoint.s…" | 5 minutes ago | Up 5 minutes (healthy) | 5432/tcp | immich_postgres |
```bash Wed Jun 26 2024 18:41:32 GMT-0700 (Mountain Standard Time)
# https://ioflood.com/blog/docker-run-bash/#:~:text=The%20'docker%20run%20bash'%20command,tool%20for%20debugging%20and%20development.
docker run -it ubuntu bash
docker exec -it kestra-kestra-1 bash
```
```bash Sun Jun 30 2024 13:09:46 GMT-0700 (Mountain Standard Time)
# https://stackoverflow.com/questions/35406213/how-to-copy-data-from-docker-volume-to-host
docker cp CONTAINER:/var/logs/ /tmp/app_logs
docker cp ./some_file CONTAINER:/work
# https://forums.docker.com/t/how-to-sync-data-of-two-container-running-on-different-hosts/123815/5
docker run -ti --rm -v moodle-data:/data -v /data/backup:/backup alpine tar czvf /backup/data.tar.gz -C /data .
# https://spacelift.io/blog/docker-volumes
docker volume ls
docker system df -v
docker volume inspect demo_volume
docker volume prune
```
```bash
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
systemctl show --property ActiveState docker
```
## Export Volume
```bash Mon Jul 01 2024 13:54:35 GMT-0700 (Mountain Standard Time)
# docker container run --rm -v "kestra_kestra-data:/app/storage" -v "$(pwd):/backup" -w /app/storage debian tar czf /opt/tar/kestra/kestra_kestra-data.tar.gz .
docker volume inspect kestra_kestra-data
docker volume list
docker volume prune
docker run -v /dbdata --name dbstore ubuntu /bin/bash
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
docker cp /etc/nginx/sites-available/default dbstore:/dbdata
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata1
tar -xf backup.tar
#
docker run -v /dbdata --name dbstore2 ubuntu /bin/bash
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && tar xvf /backup/backup.tar --strip 1"
```
## Export Container (Not Volume)
```bash Mon Jul 01 2024 13:53:52 GMT-0700 (Mountain Standard Time)
docker ps -a
mkdir ~/dbstore
docker export 85f1ac26bf47 -o ~/dbstore/dbstore.tar
mkdir ~/dbstore/dbstore
tar -x -f dbstore.tar --directory ~/dbstore/dbstore
rm -R ~/dbstore/dbstore
docker rm {name}
```
## Config
```bash
docker config ls
```
## Copy
```bash
docker container cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker cp ./some_file CONTAINER:/work
docker cp CONTAINER:/var/logs/ /tmp/app_logs
```
- [move-docker-volume-to-different-partition](https://stackoverflow.com/questions/59345566/move-docker-volume-to-different-partition)
```bash Mon Jul 01 2024 14:07:04 GMT-0700 (Mountain Standard Time)
# To move an existing docker data folder, do the following:
service docker stop
# ...
```
- [docker-html-to-pdf](https://github.com/pinkeen/docker-html-to-pdf)
```bash Mon Jul 01 2024 20:41:43 GMT-0700 (Mountain Standard Time)
cd ~/
url="http://google.com"
backup_time=$(date +'%H-%M-%S')
backup_date=$(date +'%Y-%m-%d')
echo "${backup_date}---${backup_time}.pdf"
# docker run -v "$(pwd):/workspace" pink33n/html-to-pdf --url http://google.com --pdf out.pdf
docker run -v "$(pwd):/workspace" pink33n/html-to-pdf --url "${url}" --pdf "${backup_date}---${backup_time}.pdf"
```
- [export](https://docs.docker.com/reference/cli/docker/container/export/)
```bash Tue Jul 02 2024 10:19:44 GMT-0700 (Mountain Standard Time)
docker export 7ca928d538c1 -o /home/logan-phares/Documents/proxmox/7ca928d538c1-immich-server.tar
docker export bb6a8660ee4b -o /home/logan-phares/Documents/proxmox/bb6a8660ee4b-immich-postgres.tar
docker export 80e5cb740daa -o /home/logan-phares/Documents/proxmox/80e5cb740daa-immich-machine-learn.tar
chown logan-phares:logan-phares /home/logan-phares/Documents/proxmox/7ca928d538c1-immich-server.tar
chown logan-phares:logan-phares /home/logan-phares/Documents/proxmox/bb6a8660ee4b-immich-postgres.tar
chown logan-phares:logan-phares /home/logan-phares/Documents/proxmox/80e5cb740daa-immich-machine-learn.tar
```
- [back-up-restore-or-migrate-data-volumes](https://docs.docker.com/storage/volumes/#back-up-restore-or-migrate-data-volumes)
```bash Tue Jul 02 2024 20:19:44 GMT-0700 (Mountain Standard Time)
docker run -v /dbdata --name dbstore ubuntu /bin/bash
```
### Logan Ubuntu
```conf Tue Jul 02 2024 20:33:07 GMT-0700 (Mountain Standard Time)
# docker volume list
DRIVER VOLUME NAME
local 1b1a8f62f416fb3dc859606458a2f25aacf31677474bf91818f9d7677b58156d
local 7825dd93049c8d0781fd0f99cd0c0b7043eaad9b5a978d251ee8764bf0dfa1ea
local immich_model-cache
local immich_postgres-data
local immich_upload-data
local kestra_kestra-data
local kestra_postgres-data
```
```conf Tue Jul 02 2024 20:33:05 GMT-0700 (Mountain Standard Time)
# docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
kestra/kestra latest-full 481fda1ac930 5 days ago 1.96GB
ghcr.io/immich-app/immich-server release 0019859e2c6b 2 weeks ago 1.95GB
ghcr.io/immich-app/immich-machine-learning release 7703d59a8c2b 2 weeks ago 770MB
redis <none> 0fc0b666ef9e 5 weeks ago 30.1MB
postgres latest 74cc00b2e28f 7 weeks ago 432MB
tensorchord/pgvecto-rs <none> 2e2cb40c55b8 5 months ago 676MB
louislam/dockge 1 ffb6864bc6f8 5 months ago 568MB
hello-world latest d2c94e258dcb 14 months ago 13.3kB
pink33n/html-to-pdf latest dfc91456fc2b 4 years ago 401MB
```
```conf Tue Jul 02 2024 20:33:52 GMT-0700 (Mountain Standard Time)
# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
32cf8a43b6d0 pink33n/html-to-pdf "/usr/local/bin/entr…" 24 hours ago Exited (0) 24 hours ago xenodochial_jones
7ca928d538c1 ghcr.io/immich-app/immich-server:release "tini -- /bin/bash s…" 25 hours ago Up 7 hours (healthy) 0.0.0.0:2283->3001/tcp, :::2283->3001/tcp immich_server
bb6a8660ee4b redis:6.2-alpine "docker-entrypoint.s…" 25 hours ago Up 7 hours (healthy) 6379/tcp immich_redis
c43b84f849d5 tensorchord/pgvecto-rs:pg14-v0.2.0 "docker-entrypoint.s…" 25 hours ago Up 7 hours (healthy) 5432/tcp immich_postgres
80e5cb740daa ghcr.io/immich-app/immich-machine-learning:release "tini -- ./start.sh" 25 hours ago Up 7 hours (healthy) immich_machine_learning
7003e955969c kestra/kestra:latest-full "docker-entrypoint.s…" 25 hours ago Exited (143) 24 hours ago kestra-kestra-1
b5e2225d364a postgres "docker-entrypoint.s…" 25 hours ago Exited (0) 24 hours ago kestra-postgres-1
f29f9a5ca751 louislam/dockge:1 "/usr/bin/dumb-init …" 25 hours ago Up 7 hours (healthy) 0.0.0.0:5001->5001/tcp, :::5001->5001/tcp documents-dockge-1
713f315e75c0 hello-world "/hello" 25 hours ago Exited (0) 25 hours ago vibrant_hypatia
```
```conf Tue Jul 02 2024 20:43:35 GMT-0700 (Mountain Standard Time)
# docker image list
REPOSITORY TAG IMAGE ID CREATED SIZE
kestra/kestra latest-full 481fda1ac930 5 days ago 1.96GB
ghcr.io/immich-app/immich-server release 0019859e2c6b 2 weeks ago 1.95GB
ghcr.io/immich-app/immich-machine-learning release 7703d59a8c2b 2 weeks ago 770MB
ubuntu latest 35a88802559d 3 weeks ago 78.1MB
redis <none> 0fc0b666ef9e 5 weeks ago 30.1MB
postgres latest 74cc00b2e28f 7 weeks ago 432MB
tensorchord/pgvecto-rs <none> 2e2cb40c55b8 5 months ago 676MB
louislam/dockge 1 ffb6864bc6f8 5 months ago 568MB
hello-world latest d2c94e258dcb 14 months ago 13.3kB
pink33n/html-to-pdf latest dfc91456fc2b 4 years ago 401MB
```
```conf Tue Jul 02 2024 20:34:10 GMT-0700 (Mountain Standard Time)
# docker system df -v
Images space usage:
REPOSITORY TAG IMAGE ID CREATED SIZE SHARED SIZE UNIQUE SIZE CONTAINERS
kestra/kestra latest-full 481fda1ac930 5 days ago 1.96GB 0B 1.963GB 1
ghcr.io/immich-app/immich-server release 0019859e2c6b 2 weeks ago 1.95GB 74.83MB 1.871GB 1
ghcr.io/immich-app/immich-machine-learning release 7703d59a8c2b 2 weeks ago 770MB 74.83MB 694.9MB 1
<none> <none> 0fc0b666ef9e 5 weeks ago 30.1MB 0B 30.06MB 1
postgres latest 74cc00b2e28f 7 weeks ago 432MB 0B 431.7MB 1
<none> <none> 2e2cb40c55b8 5 months ago 676MB 0B 675.8MB 1
louislam/dockge 1 ffb6864bc6f8 5 months ago 568MB 0B 567.7MB 1
hello-world latest d2c94e258dcb 14 months ago 13.3kB 0B 13.26kB 1
pink33n/html-to-pdf latest dfc91456fc2b 4 years ago 401MB 0B 400.9MB 1
Containers space usage:
CONTAINER ID IMAGE COMMAND LOCAL VOLUMES SIZE CREATED STATUS NAMES
32cf8a43b6d0 pink33n/html-to-pdf "/usr/local/bin/entr…" 0 1.91MB 24 hours ago Exited (0) 24 hours ago xenodochial_jones
7ca928d538c1 ghcr.io/immich-app/immich-server:release "tini -- /bin/bash s…" 1 7.06kB 25 hours ago Up 7 hours (healthy) immich_server
bb6a8660ee4b redis:6.2-alpine "docker-entrypoint.s…" 1 0B 25 hours ago Up 7 hours (healthy) immich_redis
c43b84f849d5 tensorchord/pgvecto-rs:pg14-v0.2.0 "docker-entrypoint.s…" 1 63B 25 hours ago Up 7 hours (healthy) immich_postgres
80e5cb740daa ghcr.io/immich-app/immich-machine-learning:release "tini -- ./start.sh" 1 24.4kB 25 hours ago Up 7 hours (healthy) immich_machine_learning
7003e955969c kestra/kestra:latest-full "docker-entrypoint.s…" 1 520B 25 hours ago Exited (143) 24 hours ago kestra-kestra-1
b5e2225d364a postgres "docker-entrypoint.s…" 1 0B 25 hours ago Exited (0) 24 hours ago kestra-postgres-1
f29f9a5ca751 louislam/dockge:1 "/usr/bin/dumb-init …" 0 150kB 25 hours ago Up 7 hours (healthy) documents-dockge-1
713f315e75c0 hello-world "/hello" 0 0B 25 hours ago Exited (0) 25 hours ago vibrant_hypatia
Local Volumes space usage:
VOLUME NAME LINKS SIZE
immich_upload-data 1 24.76GB
kestra_kestra-data 1 0B
kestra_postgres-data 1 66.64MB
1b1a8f62f416fb3dc859606458a2f25aacf31677474bf91818f9d7677b58156d 0 2.077kB
7825dd93049c8d0781fd0f99cd0c0b7043eaad9b5a978d251ee8764bf0dfa1ea 1 1.259MB
immich_model-cache 1 800.2MB
immich_postgres-data 1 1.128GB
Build cache usage: 0B
CACHE ID CACHE TYPE SIZE CREATED LAST USED USAGE SHARED
```
```bash Tue Jul 02 2024 20:30:33 GMT-0700 (Mountain Standard Time)
docker run -v /dbdata --name dbstore ubuntu /bin/bash
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /dbdata
cd /home/logan-phares/Documents/proxmox/
docker run -v /dbdata --name dbstore2 ubuntu /bin/bash
# docker exec -it dbstore2 bash
# nano test.text
# docker cp test.text docker_web_1:/dbdata/test.text
# tar -ztvf backup.tar
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && ls"
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /dbdata && touch test2.txt"
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /var && tar xvf /backup/backup.tar --strip 1"
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /var && tar xvf /backup/backup.tar --strip 1"
tar -ztvf /home/logan-phares/Documents/proxmox/vzdump-lxc-132-2024_07_02-16_55_20.tar.gz ./etc/vim
cd /home
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /home && tar zxvf /backup/logan-phares/Documents/proxmox/vzdump-lxc-132-2024_07_02-16_55_20.tar.gz ./etc/vim --strip 1"
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /home/etc && ls -la"
docker run --rm --volumes-from dbstore -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar /etc/systemd
tar -tvf backup.tar etc/systemd/system
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "cd /home && tar xvf /backup/backup.tar etc/systemd/system"
docker run --rm --volumes-from dbstore2 -v $(pwd):/backup ubuntu bash -c "find / -name "e2scrub_reap.service" 2>/dev/null"
```
- [backup-and-restore](https://immich.app/docs/administration/backup-and-restore/)
```bash Tue Jul 02 2024 21:46:57 GMT-0700 (Mountain Standard Time)
docker exec -t immich_postgres pg_dumpall --clean --if-exists --username=postgres | gzip > "dump.sql.gz"
docker run --rm --volumes-from immich_postgres -v $(pwd):/backup ubuntu bash -c "ls -la"
```
```bash Tue Jul 02 2024 22:21:12 GMT-0700 (Mountain Standard Time)
backup_time=$(date +'%H-%M-%S')
backup_date=$(date +'%Y-%m-%d')
echo "${backup_date}---${backup_time}.tar"
docker run --rm --volumes-from immich_server -v $(pwd):/backup ubuntu bash -c "cd /usr/src/app/upload && ls -la"
docker run --rm --volumes-from immich_server -v $(pwd):/backup ubuntu tar cvf /backup/upload.tar /usr/src/app/upload
tar -tvf upload.tar
```
- [disable-ipv6-in-docker-compose](https://stackoverflow.com/questions/74012541/disable-ipv6-in-docker-compose)
```yaml
networks:
cont:
driver: bridge
enable_ipv6: false
```