Памятка общей команды Docker

Docker

Введение в докер

Docker упаковывает приложение и зависимости программы в один файл.

Экземпляр контейнера, сгенерированный файлом образа, сам является файлом, называемым файлом-контейнером. После создания контейнера одновременно существуют два файла: файл изображения и файл контейнера. Закрытие контейнера не удаляет файлы контейнера, он просто останавливает контейнер, вы можете использоватьdocker rmудалить.

команда работы с докером

Список всех файлов изображений:docker images

Скачать зеркало:docker image pull [image name]

Посмотреть информацию о зеркале:docker inspect pengj/nodeappk8s:v1.0.0, чтобы просмотреть часть информации об изображении:docker inspect -f {{".Size"}} pengj/nodeappk8s:v1.0.0

Просмотрите конкретное содержимое зеркала:docker history pengj/nodeappk8s:v1.0.0

Поисковые зеркала:docker search mysql, а также параметры фильтраdocker search --filter=stars=100 mysql

Удалить зеркало:docker rmi [image], плюс-fПараметры могут быть удалены принудительно, даже если используется контейнер, как правилоНе рекомендуется

Очистите изображение:docker image prune

Создайте образ:docker image build -t [username]/[repository]:[tag]

Зеркало выпуска:docker image push [username]/[repository]:[tag]

чтобы пометить изображения, используйтеtagКоманда добавляет метку изображения, указывающую на тот же файл изображения:docker tag ubuntu:lastest myubuntu:lastest

Запустите и войдите в контейнер: см. 👇【Использование docker run и docker exec】

Посмотреть все контейнеры в докере:docker ps -a

Убить контейнер: см. 👇【Обзор методов удаления контейнера】

Приостановить контейнер:docker container stop [containID]

Просмотр журнала контейнера: см. 👇[Просмотр журнала использования журналов докеров]

Просмотр журналов с помощью журналов Docker

docker logs -f -t --since="2017-05-31" --tail=10 edu_web_1 --since: этот параметр указывает дату начала вывода журнала, то есть выводятся только журналы после указанной даты.-f: просмотр журналов в реальном времени.-t: просмотр даты создания журнала.-tail=10: просмотр последних 10 журналов.edu_web_1: имя контейнера (имя контейнера)

использование docker run и docker exec

Для запуска образа используйтеdocker run docker run -it -p 8000:8000 -v /src/webapp(本地绝对):/opt/webapp(镜像绝对路径) ubuntu

-iОткройте стандартный ввод, чтобы принять пользовательский ввод

-tПусть docker выделит псевдотерминал (псевдотерминал) и привяжет его к стандартному вводу контейнера

-uпользователь, выполнивший команду

docker run -p 容器端口:宿主端口
    -v 宿主目录:容器目录
    -d 后台运行
    -e 设置环境变量
    -name 容器名称
    --rm 容器终止之后,自动删除文件

Войдите в контейнер и просмотрите статус, гдеi,tописание параметра иdocker runпоследовательный

docker exec -it [container_name/container_id] /bin/bash

Сводка методов удаления контейнеров

  • метод первый:
#显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
sudo docker ps -a|grep Exited|awk '{print $1}'
#查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
sudo docker rm `docker ps -a|grep Exited|awk '{print $1}'`
  • Способ второй:
#删除所有未运行的容器(已经运行的删除不了,未运行的就一起被删除了)
sudo docker rm $(docker ps -a -q)
  • Способ третий:
#根据容器的状态,删除Exited状态的容器
sudo docker rm $(sudo docker ps -qf status=exited)
  • Способ четвертый:
# 删除处于stop的容器或者状态status=Exited的容器
sudo docker container prune

Контейнерный файл, завершающий операцию, по-прежнему будет занимать место на жестком диске и может использоватьсяdocker rm [containerID]команда удалить.

Как удалить изображение none в докере

Чтобы удалить изображение None, вы должны сначала удалить контейнер на изображении. Чтобы удалить контейнер на изображении, контейнер должен сначала остановить.

# 停止容器
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
# 删除容器
docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }')
# 删除镜像
docker rmi $(docker images | grep "none" | awk '{print $3}')

Два способа создать образ

Сначала создайте на основе существующего образа

В основном на основе команды:

docker container commit
    -a, --author="": 作者信息;
    -c, --change=[]: 可以在提交的时候执行 Dockerfile 指令,如 CMD、ENTRYPOINT、ENV、EXPOSE、LABEL、ONBUILD、USER、VOLUME、WORIR 等;
    -m, --message="": 提交信息;
    -p, --pause=true: 提交时,暂停容器运行。

Пример процесса импорта, нужно запомнить номер текущего контейнера, допустимaxa0c8cfec3a:

docker run -it xx:yy /bin/bash
touch news.txt
exit

Выполните команду фиксации:docker container commit -m "Added nes.txt file" -a "hapiman" axa0c8cfec3a news:0.1Ознакомьтесь с текущим списком зеркал:docker images

Во-вторых, на основе Dockerfile для создания

Самый распространенный способ, пропустить

операции импорта и экспорта докеров

  • Способ 1. Использованиеdocker saveа такжеdocker load

Ознакомьтесь с текущим списком зеркал:docker images

экспортtarдокумент:docker save f59c7e5b1817 >zwx_ub.tarилиdocker save -o zwx_ub.tar f59c7e5b1817

Загрузить изображение:docker load < zwx_ub.tarилиdocker load -i zwx_ub.tar

Ознакомьтесь с текущим списком зеркал:docker images

  • Способ второй, используйтеdocker exportа такжеdocker import

импорт:cat ubuntu-14.04-x86_64-minimal.tar.gz | docker import - ubuntu:zwx

Экспорт:docker export 16f568766019 > ubuntu.tar, пронумеруйте зеркала как16f568766019экспорт изображений

  • Разница между двумя

docker save images_name: экспортируйте изображение в виде файла, а затем используйте команду docker load для импорта файла в виде изображения, которое сохранит изображение.Вся история.比docker export命令导出的文件大,很好理解,因为会保存镜像的所有历史记录。docker export container_id: Экспортируйте контейнер в качестве файла, используйте команду Import Docker, чтобы импортировать контейнер на новое изображение, но по сравнению с командой Сохранения Docker, файл контейнера будетПотерять все метаданные и историю, который сохраняет только текущее состояние контейнера, что эквивалентно моментальному снимку виртуальной машины.

Добро пожаловать на официальный аккаунт: Programmer's Financial Circle

обсуждение技术,金融,赚钱небольшой круг, чтобы предоставить вам наиболее有味道Контент обновляется ежедневно!