Docker
docker tutorial
https://www.digitalocean.com/community/tags/docker?type=tutorials
install on ubuntu 14.04
install docker on ubuntu 14.04
sudo curl -sSL https://get.docker.com/ | sh
sudo service docker start
or
/etc/init.d/docker start
sudo docker run hello-world sudo docker start nostalgic_hopper sudo docker ps -a sudo docker rm nostalgic_hopper sudo docker pull nginx sudo docker run --name docker-nginx -p 80:80 nginx
sudo docker rm docker-nginx sudo docker run --name docker-nginx -p 80:80 -d nginx sudo docker stop docker-nginx sudo docker rm docker-nginx sudo docker run --name docker-nginx -p 80:80 -d -v ~/docker-nginx/html:/usr/share/nginx/html nginx sudo docker stop docker-nginx sudo docker rm docker-nginx sudo docker run --name docker-nginx -p 80:80 -v ~/docker-nginx/html:/usr/share/nginx/html -v ~/docker-nginx/default.conf:/etc/nginx/conf.d/default.conf -d nginx sudo docker restart docker-nginx sudo docker stop docker-nginx sudo docker rm docker-nginx sudo service docker stop
usefull commands
Show local images
docker images
rum image
sudo docker run hello-world
Don’t truncate ps output
docker ps -a --no-trunc
docker connect to running container https://askubuntu.com/questions/505506/how-to-get-bash-or-ssh-into-a-running-container-in-background-mode
display container output
docker logs -f container-name
find docker container ip and muck more
docker inspect <container id>
Run command on running docker
docker exec -it steemit/steem ls docker exec -it 27831be92930 ls
no full run only prompt
docker run -p 6789:6789 -it steemit/steem /bin/bash
rename image
docker tag 0e5574283393 fedora/httpd:version1.0
remove image
docker images
docker rmi node
Error conflict: unable to delete (must be forced) - image is referenced in multiple repositories
It will delete all images!
docker rmi cf52a8a6d919 -f
error: image has dependent child images
https://stackoverflow.com/questions/36584122/docker-how-can-i-get-the-list-of-dependent-child-images
docker rmi c39664f3d4e5
docker inspect --format='תבנית:.Id תבנית:.Parent' $(docker images --filter since=c39664f3d4e5 -q)
docker image config file
two version of the same project from docker hub
hub images
https://hub.docker.com/r/mah454/vtiger/
docker run -d --name="vtiger" -h vtiger -p 8080:80 -p 2122:22 mah454/vtiger "/run.sh"
ip_address=$(docker inspect --format 'תבנית:.NetworkSettings.IPAddress' vtiger) ssh -l root $ip_address -p 22
Docker centos 7#ssh image
Build your own images
https://docs.docker.com/engine/tutorials/dockerimages/
containers
remove container
ps -a docker rm name
restart an existing container after it exited
docker start `docker ps -q -l` # restart it in the background docker attach `docker ps -q -l` # reattach the terminal & stdin
-l, --latest Show the latest created container (includes all states) -q, --quiet Only display numeric IDs
docker attach name
http://stackoverflow.com/questions/21928691/how-to-continue-a-docker-which-is-exited
copy docker container to another machine
copy docker container to other machene
https://blog.giantswarm.io/moving-docker-container-images-around/
docker container vs image
To use a programming metaphor, if an image is a class, then a container is an instance of a class—a runtime object
docker host access container files
https://forums.docker.com/t/access-docker-container-files/28906/9
df from root to find the path!
where docker images stored on the host machine
linux docker location
http://stackoverflow.com/questions/19234831/where-are-docker-images-stored-on-the-host-machine
du -hs /var/lib/docker/aufs/*
/etc/docker /etc/apparmor.d/docker /etc/apparmor.d/cache/docker
/var/lib/docker/aufs/diff/<id> has the file contents of the images.
/var/lib/docker/repositories-aufs is a JSON file containing local image information. This can be viewed with the command:
docker images
delete docker container log
https://serverfault.com/questions/637996/clearing-deleting-docker-logs
cp /dev/null /home2/docker/containers/adfe42f86afd887bfe29f94e83df646746ddd5e6d3c3ac08f8dcd3713eb1024b/adfe42f86afd887bfe29f94e83df646746ddd5e6d3c3ac08f8dcd3713eb1024b-json.log
move docker disk location
move docker images
https://forums.docker.com/t/how-do-i-change-the-docker-image-installation-directory/1169
ps faux | grep docker sudo service docker stop ps faux | grep docker mv /var/lib/docker /home2/ #ln -s /home2/docker /var/lib/docker
or
vim /etc/default/docker
add file with the -g option: DOCKER_OPTS="-dns 8.8.8.8 -dns 8.8.4.4 -g /home2/docker"
sudo service docker start
now when I run
docker ps
I have no containers
docker ps -a
work fine
Install Docker on centos7
sudo systemctl start docker
Docker centos4
troubleshooting
log file
df
/.../.../docker/containers/adfe42f86afd887bfe29f94e83df646746ddd5e6d3c3ac08f8dcd3713eb1024b/adfe42f86afd887bfe29f94e83df646746ddd5e6d3c3ac08f8dcd3713eb1024b-json.log
docker listen to port
fail to run The container name "yxz" is already in use by container
docker ps -a docker start xyz docker attach xyz