Docker images are located under
/var/lib/docker on Ubuntu by default.
To change the directory, it is required to pass
-g option to docker daemon process.
To do it, edit
DOCKER_OPTS environment variables in
- DOCKER_OPTS= + DOCKER_OPTS="-g /path/to/docker-image"
And then restart docker daemon process:
# Ubuntu 14.04 sudo restart docker
# Ubuntu 16.04 sudo systemctl stop docker.service sudo systemctl start docker.service
Instead of using Docker official registry, we can also create and run our own docker registory that docker images are stored and managed. The private registry can also be run as one docker image.
Before run a registry server, set the appropriate hostname to your server.
To run registry server, run the commands below:
mkdir -p /media/docker/registry chmod -R 0777 /media/docker/registry docker run -d -p 5000:5000 -v /media/docker/registry:/var/lib/registry registry
And then also run the frontend for visualize images stored in the registry server.
docker run -d -e ENV_DOCKER_REGISTRY_HOST=<hostname> -e ENV_DOCKER_REGISTRY_PORT=5000 -p 8080:80 konradkleine/docker-registry-frontend:v2
And you can see the frontend.
Docker determines the destination of pushed image by its tag as followings:
<host>:<port>/ is abbreviated, docker pushes its image to the official docker hub.
So, all we need to do is to tag images.
docker pull osrf/ros:kinetic-desktop docker tag osrf/ros:kinetic-desktop <host>:5000/osrf/ros:kinetic-desktop docker push <host>:5000/osrf/ros:kinetic-desktop
This pushes images to the registry server located on