Last active
December 8, 2017 06:56
-
-
Save 63phc/b322a6651dee9c8aa41086877221e324 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#del stop | |
docker stop $(docker ps -a -q) | |
docker rm $(docker ps -a -q) | |
docker cp <container_name>:<пусть к проекту> <путь куда копируем на текущем сервере> | |
#run | |
docker exec -it <container_id_or_name> echo "Hello from container!" | |
#add | |
docker-compose run --rm db pg_dump -h db -U postgres postgres > database.sql | |
docker-compose run --rm db psql -h db -U postgres postgres < database.sql | |
# | |
docker run -p 8000:8000 -v `pwd`:/data --rm -it myproject ./mynewapp/managy.py runserver 0.0.0.0:8000 | |
# | |
sudo chmwn user:user ./ -R | |
boot2docker | |
# Выяснить на каком ip адресе работает виртуальная машина с докером | |
$ boot2docker ip | |
The VM's Host only interface IP address is: 192.168.59.103 | |
# Строка для добавления в .bash_profile, которая выставляет правильные | |
# переменные окружения | |
eval $(boot2docker shellinit 2> /dev/null) | |
Образы | |
# Скачать образ ubuntu с тегом latest | |
docker pull ubuntu | |
# То же самое, но указанное явно | |
docker pull ubuntu:latest | |
# Скачать все теги образа ubuntu | |
docker pull --all-tags ubuntu | |
# Получить список образов, которые есть на локальной машине | |
$ docker images | |
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE | |
ubuntu 14.04 9cbaf023786c 4 days ago 192.8 MB | |
# Просмотр информации об образе | |
# Пример вывода — https://gist.github.com/bessarabov/4afa32c1ff3c958d4a9f | |
docker inspect bessarabov/sample_nginx | |
# Удалить образ ubuntu:latest (так же можно удалять используя IMAGE ID) | |
docker rmi ubuntu | |
# Создать образ (в текущей папке должен находиться файл Dockerfile) | |
# Эта команда создаст образ bessarabov/sample_nginx с тегом latest | |
docker build --tag bessarabov/sample_nginx . | |
# Создать новый тег на основе уже существующего образа | |
$ docker tag bessarabov/sample_nginx:latest 192.168.59.103:5000/bessarabov/sample_nginx:latest | |
$ docker images | |
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE | |
bessarabov/sample_nginx latest b2d112ab861d 18 hours ago 231.6 MB | |
192.168.59.103:5000/bessarabov/sample_nginx latest b2d112ab861d 18 hours ago 231.6 MB | |
Работа с контейнерами | |
# Запустить контейнер в интерактивном режиме | |
# (ключи -i -t можно объединить в -it) | |
$ docker run -i -t ubuntu:14.04 /bin/bash | |
root@b9ee3d48bf59:/# | |
# Получить список контейнеров | |
# (если не указать ключ -a, то будет показаны только работающие контейнеры) | |
$ docker ps -a | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
7aacffdfb531 ubuntu:14.04 "/bin/bash" 3 seconds ago Exited (0) 1 seconds ago silly_hopper | |
# Удалить контейнер (можно удалить только остановленный контейнер). | |
# Команде можно передать как CONTAINER ID, так и NAME | |
docker rm 7aacffdfb531 | |
# Запустить контейнер и автоматически удалить его после того как он остановится | |
docker run --rm -it ubuntu:14.04 /bin/bash | |
# Запустить контейнер и указать ему имя 'sample'. Если явно не указывать | |
# имя, то оно будет создано автоматически, типа 'silly_hopper' | |
docker run -it --name sample ubuntu:14.04 /bin/bash | |
# Запустить контейнер в виде демона, сделать чтобы порт 8000 на хост | |
# машине соответствовал 80 порту в контейнере | |
docker run --detach --publish 8000:80 --name sample bessarabov/sample_nginx | |
# Вот как выглядит информация об этом контейнере: | |
$ docker ps -a | |
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES | |
5124abdf830b bessarabov/sample_nginx:latest "/bin/sh -c 'nginx - 3 seconds ago Up 2 seconds 0.0.0.0:8000->80/tcp sample | |
# Далее с помощью `boot2docker ip` можно узнать ip-адрес хост | |
# машины и как-нибудь обратиться к ней: | |
curl 192.168.59.103:8000 | |
# Для того, чтобы остановить контейнер | |
docker stop sample | |
# После того как контейнер остановлен его можно удалить (и он больше не | |
# будет показываться в `docker ps -a`: | |
docker rm sample | |
Автокомлит для команды docker на Mac OS X | |
Обсуждение на stackoverflow. | |
brew update | |
brew install bash-completion | |
curl -GET https://raw.githubusercontent.com/docker/docker/master/contrib/completion/bash/docker > `brew --prefix`/etc/bash_completion.d/docker | |
И в .bash_profile втсавить: | |
# http://superuser.com/questions/819221/how-to-install-the-debian-bash-completion-using-homebrew | |
if [ -f `brew --prefix`/etc/bash_completion ]; then | |
. `brew --prefix`/etc/bash_completion | |
fi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment