357 lines
19 KiB
Markdown
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
|
|
```
|