# docker

## Install it (Ubuntu 24.04)
Check [here](https://docs.docker.com/engine/install/ubuntu/) for instructions.  

### Uninstall all potentially conflicting packages
```
for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done
```

### Setup Docker's apt repository
```
# 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
```

### Install Docker
```
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
```

## List images
```
sudo docker images
```

## Export image
```
sudo docker save -o name-of-export.tar ea862d6568f4
```

## Load image 
```
sudo docker load -i name-of-export.tar 
```

## Fix loaded image (if necessary)
Sometimes when I load an image and then list installed images it looks like this:
```
<none>                     <none>       3fea15423bc0   7 weeks ago     110MB
```

To fix it I added a tag to give the image a proper name:

```
sudo docker tag 3fea15423bc0 impacket:latest
```

## List containers
```
sudo docker ps
```

## Delete running docker container
```
sudo docker rm -f mycontainer
```

---

# Docker Compose install for Kali Linux

```
sudo apt install docker-compose 
```
