--- 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 0fc0b666ef9e 5 weeks ago 30.1MB postgres latest 74cc00b2e28f 7 weeks ago 432MB tensorchord/pgvecto-rs 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 0fc0b666ef9e 5 weeks ago 30.1MB postgres latest 74cc00b2e28f 7 weeks ago 432MB tensorchord/pgvecto-rs 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 0fc0b666ef9e 5 weeks ago 30.1MB 0B 30.06MB 1 postgres latest 74cc00b2e28f 7 weeks ago 432MB 0B 431.7MB 1 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 ```