Оригинальный адрес:Блог Лян Гуйчжао
адрес блога:blog.720ui.com
Добро пожаловать на официальный аккаунт: «Серверное мышление». Группа людей с одинаковой частотой растет вместе, вместе совершенствуется и преодолевает ограничения познания.
30-минутное руководство по быстрому запуску Docker
1. Добро пожаловать в мир Докера
1. Докер и виртуализация
В дни без Docker мы использовали аппаратную виртуализацию (виртуальные машины) для обеспечения изоляции. Здесь виртуальная машина устанавливает промежуточный виртуальный программный уровень Hypervisor в операционной системе и использует ресурсы физической машины для виртуализации нескольких виртуальных аппаратных сред для совместного использования ресурсов хост-машины, а приложения в ней запускаются на виртуальной машине. ядро. Однако существует узкое место в использовании оборудования виртуальными машинами, поскольку виртуальным машинам сложно динамически регулировать занимаемые ими аппаратные ресурсы в соответствии с текущим объемом бизнеса, поэтому технология контейнеризации стала популярной. Среди них Docker — это механизм контейнера приложений с открытым исходным кодом, который позволяет разработчикам упаковывать свои приложения и зависимости в переносимый контейнер, а затем публиковать их на любом популярном компьютере с Linux.
Контейнер Docker не использует аппаратную виртуализацию, его демон — это процесс на хосте, другими словами, приложение запускается непосредственно на ядре хоста. Поскольку между программой, работающей в контейнере, и операционной системой компьютера нет дополнительного промежуточного уровня, никакие ресурсы не тратятся впустую на запуск избыточного программного обеспечения или эмуляцию виртуального оборудования.
Преимущества Docker не только в этом, давайте сравним их.
характеристика | Docker | виртуальная машина |
---|---|---|
скорость запуска | секунды | минутный уровень |
доставка/развертывание | Согласованные среды разработки, тестирования и производства | нет зрелой системы |
представление | приблизительная физическая машина | Большая потеря производительности |
объем | Очень маленький (МБ) | Больше (ГБ) |
Миграция/расширение | Кроссплатформенный, воспроизводимый | сложнее |
2. Образы, контейнеры и репозитории
Docker состоит из трех частей: образа, контейнера и репозитория.
Образ Docker можно просто сравнить с системным диском, используемым для установки системы на компьютер, включая операционную систему и необходимое программное обеспечение. Например, образ может содержать полную среду операционной системы Centos с установленными серверами Nginx и Tomcat. Обратите внимание, что изображения доступны только для чтения. Это также легко понять, точно так же, как системный диск, который мы записываем, на самом деле читаем. мы можем использоватьdocker images
для просмотра локального списка зеркал.
Контейнер Docker можно просто понимать как предоставление системной аппаратной среды, которая фактически запускает программы проекта, потребляет ресурсы компьютера и предоставляет услуги. Например, мы можем временно думать о контейнере как о компьютере Linux, который может работать напрямую. Итак, контейнеры запускаются на основе образов, и каждый контейнер изолирован друг от друга. Обратите внимание, что контейнер создает перезаписываемый слой на основе изображения в качестве верхнего слоя при запуске. мы можем использоватьdocker ps -a
Просмотр локально запущенных контейнеров.
Репозиторий Docker используется для хранения образов. Это очень похоже на Git. Мы можем загружать изображения из центрального репозитория или из нашего собственного репозитория. В то же время мы можем зафиксировать созданный образ в локальном, а затем отправить его в удаленный репозиторий. Склады делятся на общественные склады и частные склады.Крупнейшим общественным складом является официальный склад Dock Hub.Есть также много вариантов для внутренних общественных складов, таких как Alibaba Cloud.
3. Docker вносит изменения в процесс разработки
На мой взгляд, влияние Docker на процесс разработки заключается в стандартизации среды. Например, получается, что у нас есть три среды: среда разработки (ежедневная), тестовая среда и производственная среда. Здесь нам нужно развернуть одно и то же программное обеспечение, сценарии и исполнители для каждой среды, как показано. На самом деле содержимое сценария запуска согласовано, но единого обслуживания нет, и часто возникают проблемы. Кроме того, для запуска программ, если базовая операционная среда, от которой они зависят, несовместима, это также вызовет путаницу и исключения.
Теперь, когда мы представили Docker, нам нужно только поддерживать образ Docker. Другими словами, несколько сред, один образ, одна сборка на системном уровне и запуск везде. На этом этапе мы стандартизируем выполняемые сценарии, зеркально отображаем базовое программное обеспечение, а затем внедряем стандартизированные развертывания для тех же программ, которые должны быть развернуты. Таким образом, Docker предоставляет нам стандартизированную модель эксплуатации и обслуживания, а также закрепляет этапы и процессы эксплуатации и обслуживания.
Благодаря улучшению этого процесса нам легче достичь цели DevOps, потому что наш образ можно запустить в любой системе после того, как он будет сгенерирован и быстро развернут. Кроме того, большой мотивацией для использования Docker является достижение гибкого планирования на основе Docker для более полного использования машинных ресурсов и сокращения затрат.
Ха-ха, в процессе использования Docker автор тоже нашел большие плюсы, например, когда мы выпускаем откат, нам нужно только переключить TAG и перезапустить. Например, когда мы обновляем среду, нам нужно обновить только базовый образ, после чего вновь созданный образ приложения будет автоматически ссылаться на новую версию. (Добро пожаловать, чтобы добавить~~~)
2. Начните с создания веб-сервера
1. Сначала установите среду, установите Docker
Теперь нам нужно выполнить следующие шаги для установки Docker.
- Зарегистрируйте аккаунт: наhub.docker.com/Зарегистрировать аккаунт.
- Загрузить и установить
Официальный адрес загрузки: (Mac):скачать.docker.com/Mac/stable/…Адрес загрузки Alibaba Cloud (Mac):mirrors.aliyun.com/docker-tool…Адрес загрузки Alibaba Cloud (Windows):mirrors.aliyun.com/docker-tool…
- Инструкция по установке Здесь дважды щелкните установочный пакет Doker.dmg, который вы только что загрузили, чтобы установить его.
После завершения установки на верхней панели навигации Mac появляется значок, а такие операции, как настройка докера и выход, можно выполнять через меню.
Официальное руководство:docs.docker.com/install/Руководство по облаку Alibaba (Linux):Особенно Aliyun.com/articles/11…
- Настройка сервисов ускорения
На рынке есть много поставщиков акселерационных услуг, таких как: DaoCloud, Alibaba Cloud и т. д. Здесь автор использует Alibaba Cloud. (Обратите внимание, что операционная система автора — Mac. Другие серии операций см. в документации по эксплуатации Alibaba Cloud)
Щелкните правой кнопкой мыши значок докера на верхней панели рабочего стола, выберите «Настройки» и добавьте список зеркал реестра на вкладке «Демон» (вкладка «Дополнительно» для версий до Docker 17.03).https://xxx.mirror.aliyuncs.com
Добавьте в массив «registry-mirrors», нажмите кнопку «Применить и перезапустить» и подождите, пока Docker перезапустится и применит настроенные ускорители образов.
Документы по эксплуатации облака Alibaba:Adult.console.aliyun.com/cai-Ханчжоу…
- Посмотреть версию
На этом мы завершили установку. Вот и проверим версию.
docker version
Просмотрите результаты, как показано ниже.
2. Практично, начните с создания веб-сервера
Как исполнители, давайте сначала создадим веб-сервер. Затем автор потихоньку поведет вас разбираться, что происходило в этом процессе. Во-первых, нам нужно вытащить образ Centos.
docker run -p 80 --name web -i -t centos /bin/bash
Далее мы устанавливаем сервер nginx и выполняем следующую команду:
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
После установки исходного кода Nginx вы можете официально установить Nginx.
yum install -y nginx
В этот момент мы входимwhereis nginx
команда, чтобы увидеть путь установки. Наконец, нам также нужно запустить Nginx.
nginx
Теперь мы выполняемctrl + P + Q
Переключиться на фон. Затем, поdocker ps -a
чтобы увидеть случайно назначенные порты.
Здесь назначенный автором порт32769
, затем доступ через браузерhttp://127.0.0.1:32769
Вот и все.
Ты закончил, хахаха~
3. Просмотрите и поймите весь процесс
Теперь давайте разберемся с процессом. Во-первых, мы входимdocker run -p 80 --name web -i -t centos /bin/bash
команда запускает интерактивный контейнер, где-i
Параметр сообщает контейнеру Docker о том, что стандартный поток ввода должен оставаться открытым для контейнера, даже если у контейнера нет терминального соединения.-t
Опция указывает Docker назначить контейнеру виртуальный терминал, чтобы мы могли установить сервер Nginx дальше. (Примечание автора: Docker также поддерживает ввод-d
option указывает Docker запустить демон контейнера в фоновом режиме)
Docker автоматически генерирует случайное имя для каждого создаваемого нами контейнера. На самом деле, хотя этот метод и удобен, его читабельность очень плохая, и стоимость понимания нашего дальнейшего обслуживания будет относительно велика. Поэтому мы проходим--name web
option указывает Docker создать имя, котороеweb
контейнер. Кроме того, мы проходим-p 80
Скажите Docker, чтобы он открыл порт 80, тогда Nginx сможет получить доступ и обслуживать извне. Однако наш хост-компьютер автоматически выполнит сопоставление портов.Например, порт, назначенный выше,32769
, обратите внимание, что если вы закроете или перезапустите, этот порт изменится, так что как решить проблему фиксированных портов, автор подробно разберет и перенесет вас в реальный бой позже.
Здесь есть еще один очень важный момент знанияdocker run
. Docker запускает новый контейнер командой run. Сначала Docker ищет образ на локальном компьютере. Если он не установлен, Docker находит образ в Docker Hub, загружает и устанавливает его на локальный компьютер. Наконец, Docker создает новый контейнер и запускает программу.
Однако при втором исполненииdocker run
, поскольку Docker уже установил образ на эту машину, Docker напрямую создаст новый контейнер и запустит программу.
Пожалуйста, имейте в виду,docker run
Новый контейнер создается каждый раз, когда он используется, поэтому, когда мы снова запустим этот контейнер в будущем, нам нужно будет использовать только командуdocker start
Вот и все. здесь,docker start
Роль заключается в перезапуске существующего образа, в то время какdocker run
Включает размещение изображений в контейнерахdocker create
, затем запустите контейнерdocker start
, как показано на рисунке.
Теперь, на основании приведенного выше случая, мы можем перейтиexit
Команда для закрытия контейнера Docker. Конечно, если мы запускаем демон в фоновом режиме, мы также можем передатьdocker stop web
прекратить. Пожалуйста, имейте в виду,docker stop
и docker kill
Немного отличается,docker stop
отправляет сигнал SIGTERM, аdocker kill
Отправьте сигнал SIGKILL. Затем мы используемdocker start
перезапустите его.
docker start web
Контейнер Docker будет использоваться после перезапускаdocker run
команда для запуска с параметрами, указанными в команде, но в это время она все еще работает в фоновом режиме. мы должны пройтиdocker attach
команда для переключения на запуск интерактивных контейнеров.
docker attach web
4. Более того, команд больше
Docker предоставляет очень богатый набор команд. Изображение стоит тысячи слов, и мы можем многое узнать из приведенных ниже изображений и их предыдущего использования. (Вы можете пропустить чтение напрямую, рекомендуется собирать, легко расширять чтение)
Если вам нужна дополнительная информация, вы можете прочитать официальную документацию по использованию.
Command | Description |
---|---|
docker attach | Attach local standard input, output, and error streams to a running container |
docker build | Build an image from a Dockerfile |
docker builder | Manage builds |
docker checkpoint | Manage checkpoints |
docker commit | Создайте новый образ из изменений контейнера |
docker config | Manage Docker configs |
docker container | Manage containers |
docker cp | Copy files/folders between a container and the local filesystem |
docker create | Create a new container |
docker deploy | Deploy a new stack or update an existing stack |
docker diff | Проверяйте изменения в файлах или каталогах в файловой системе контейнера. |
docker engine | Manage the docker engine |
docker events | Get real time events from the server |
docker exec | Run a command in a running container |
docker export | Экспорт файловой системы контейнера в виде tar-архива |
docker history | Show the history of an image |
docker image | Manage images |
docker images | List images |
docker import | Import the contents from a tarball to create a filesystem image |
docker info | Display system-wide information |
docker inspect | Return low-level information on Docker objects |
docker kill | Kill one or more running containers |
docker load | Load an image from a tar archive or STDIN |
docker login | Log in to a Docker registry |
docker logout | Log out from a Docker registry |
docker logs | Fetch the logs of a container |
docker manifest | Manage Docker image manifests and manifest lists |
docker network | Manage networks |
docker node | Manage Swarm nodes |
docker pause | Pause all processes within one or more containers |
docker plugin | Manage plugins |
docker port | List port mappings or a specific mapping for the container |
docker ps | List containers |
docker pull | Pull an image or a repository from a registry |
docker push | Push an image or a repository to a registry |
docker rename | Rename a container |
docker restart | Restart one or more containers |
docker rm | Remove one or more containers |
docker rmi | Remove one or more images |
docker run | Run a command in a new container |
docker save | Save one or more images to a tar archive (streamed to STDOUT by default) |
docker search | Search the Docker Hub for images |
docker secret | Manage Docker secrets |
docker service | Manage services |
docker stack | Manage Docker stacks |
docker start | Start one or more stopped containers |
docker stats | Display a live stream of container(s) resource usage statistics |
docker stop | Stop one or more running containers |
docker swarm | Manage Swarm |
docker system | Manage Docker |
docker tag | Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE |
docker top | Display the running processes of a container |
docker trust | Manage trust on Docker images |
docker unpause | Unpause all processes within one or more containers |
docker update | Update configuration of one or more containers |
docker version | Show the Docker version information |
docker volume | Manage volumes |
docker wait | Block until one or more containers stop, then print their exit codes |
Официальная ссылка для чтения:docs.docker.com/engine/ref Э…
5. Расширенный: упрощение репозитория и установки программного обеспечения.
Помните «изображения, контейнеры и склады», которые я представил в начале статьи? Репозиторий Docker используется для хранения образов. Мы можем загружать изображения из центрального репозитория или из нашего собственного репозитория. В то же время мы можем отправить созданный образ из локального в удаленный репозиторий.
Прежде всего, автор вводит точку знания: образ Docker — это его файловая система, образ может быть помещен на верхний слой другого образа, тогда нижний слой — это его родительский образ. Поэтому в Docker будет много слоев изображений, каждый из которых доступен только для чтения и не будет меняться. Когда мы создаем новый контейнер, Docker создает стек образов и добавляет слой для чтения и записи поверх стека, как показано на рисунке.
Теперь мы можем пройтиdocker images
команда для просмотра локального зеркала.
docker images
Результат запроса показан на рисунке.
Здесь объясните значение нескольких терминов.
- РЕПОЗИТОРИЙ: Имя репозитория.
- TAG: зеркальный тег, где lastest представляет последнюю версию. Обратите внимание, что изображение может иметь несколько тегов, поэтому мы можем управлять полезными тегами версий и функций с помощью тегов.
- IMAGE ID : уникальный идентификатор изображения.
- СОЗДАН : Время создания.
- РАЗМЕР : Размер изображения.
Тогда, если в первый раз мы пройдемdocker pull centos:latest
Вытащите изображение, затем, когда мы выполнимdocker run -p 80 --name web -i -t centos /bin/bash
, в удаленный доступ он уже не пойдет, потому что образ уже установлен на локальной машине, поэтому Docker напрямую создаст новый контейнер и запустит программу.
Фактически, официальный представитель предоставил образ установленного Nginx, мы можем использовать его напрямую. Теперь мы пересобираем веб-сервер, извлекая образ. Во-первых, мы проходимdocker search
найти зеркала. Получаем список зеркал Nginx.
docker search nginx
Чтобы добавить, мы также можем получить доступ к Docker Hub (hub.docker.com/) обыскать склад, то чем больше звездочек, тем он надежнее, и им можно уверенно пользоваться.
Теперь мы проходимdocker pull nginx
Загрузите последний образ Nginx. Конечно, мы также можемdocker pull nginx:latest
работать.
docker pull nginx
Затем мы создаем и запускаем контейнер. В отличие от предыдущего, мы проходим-d
option указывает Docker запустить демон контейнера в фоновом режиме. и через8080:80
Сообщите Docker, что порт 8080 — это открытый порт, а порт 80, открытый для внешнего мира, сопоставляется с номером порта в контейнере.
docker run -p 8080:80 -d --name nginx nginx
мы проходимdocker ps -a
Проверим и обнаружим, что контейнер работает в фоновом режиме, и команда nginx выполняется в фоновом режиме, а порт 8080 открыт для внешнего мира.
Поэтому, обратившись кhttp://127.0.0.1:8080
Вот и все.
6. Другие варианты, используйте альтернативный сервер регистрации
Docker Hub — не единственный источник программного обеспечения, мы также можем переключиться на другие альтернативные серверы регистрации в Китае, такие как Alibaba Cloud. мы можем войтиcr.console.aliyun.comИщите и извлекайте общедоступные изображения.
Теперь мы входимdocker pull
команда тянуть.
docker pull registry.cn-hangzhou.aliyuncs.com/qp_oraclejava/orackejava:8u172_DCEVM_HOTSWAPAGEN_JCE
Здесь автор продолжает добавлять пункт знаний: адрес сервера регистрации. Фактически существует набор спецификаций адреса сервера регистрации. Полный формат: [хост репозитория/][имя пользователя/]короткое имя контейнера[:тег]. Здесь хост репозитория — register.cn-hangzhou.aliyuncs.com, имя пользователя — qp_oraclejava, краткое имя контейнера — orackejava, а имя тега — 8u172_DCEVM_HOTSWAPAGEN_JCE. На самом деле мы прошли вышеdocker pull centos:latest
Вытяните изображение, которое эквивалентноdocker pull registry.hub.docker.com/centos:latest
.
3. Создайте свой образ
Благодаря приведенному выше исследованию я считаю, что у вас есть общее представление об использовании Docker, точно так же, как мы установили систему через VMware и позволили ей работать, тогда мы можем запускать в этой системе Linux (CentOS или Ubuntu) все, что мы хотим. На самом деле, мы часто делаем резервные копии наших установленных систем VMware и клонируем их для нашей следующей быстрой копии. Здесь Docker также может создавать образы Docker с настраиваемым содержимым, например, мы использовали официальные образы Docker с установленным выше Nginx. Обратите внимание, что мы создаем новое изображение только путем добавления слоя изображения поверх существующего базового изображения.
Подводя итог, Docker предоставляет возможность настраивать образы, что позволяет нам сохранять изменения в базовом образе и использовать его снова. Затем мы можем упаковать операционную систему, операционную среду, сценарии и программы вместе и предоставить внешние службы на хосте.
Docker создает образы двумя способами.docker commit
команда, еще один способ использованияdocker build
команда иDockerfile
документ. Среди них не рекомендуется использоватьdocker commit
Команда для сборки, потому что она не стандартизирует весь процесс, поэтому более рекомендуется на предприятии.docker build
команда иDockerfile
файл для создания нашего образа. Мы используемDockerfile
файлы могут сделать сборку образов более воспроизводимой, обеспечивая при этом стандартизацию сценариев запуска и запуска программ.
1. Соберите первый Dockerfile
Теперь давайте перейдем к реальному бою. Здесь мы создаем образ веб-сервера, который мы создали в начале. Во-первых, нам нужно создать пустой Dokcerfile.
mkdir dockerfile_test
cd dockerfile_test/
touch Dockerfile
nano Dockerfile
Далее нам нужно написать файл Dockerfile, листинг кода выглядит следующим образом
FROM centos:7
MAINTAINER LiangGzone "lianggzone@163.com"
RUN rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
RUN yum install -y nginx
EXPOSE 80
Наконец, мы проходимdocker build
команда построить.
docker build -t="lianggzone/nginx_demo:v1" .
Теперь давайте пройдемсяdocker images
Оцените наше новое изображение.
2. Поймите весь процесс Dockerfile
Вау, мы успешно создали новый образ, написав Dockerfile. Процесс невероятно прост. Теперь давайте разберемся во всем процессе. Во-первых, FROM centos:7
является необходимым первым шагом Dockerfile, он запустит контейнер из существующего образа, другими словами, Docker должен полагаться на базовый образ для сборки. Здесь мы указываем Centos в качестве базового образа версии 7 (CentOS 7). Затем мы проходимMAINTAINER LiangGzone "lianggzone@163.com"
Укажите, что автор зеркала — LiangGzone, а адрес электронной почты — lianggzone@163.com. Это помогает информировать пользователей об авторе и контактных данных. Затем мы выполняем две инструкции RUN для загрузки и установки Nginx и, наконец, передаемEXPOSE 80
Откройте порт 80 контейнера Docker. Обратите внимание, что порядок выполнения Docker выполняется сверху вниз, поэтому нам нужно уточнить порядок выполнения всего процесса. Кроме того, Docker создает новый слой образа и фиксирует его после выполнения каждой команды.
Мы используем docker build
команду построить, указав- t
Сообщите Docker имя и версию образа. Обратите внимание: если теги не указаны, Docker автоматически установит для образа последний тег. Еще один момент, у нас наконец есть еще один.
Это должно заставить Docker перейти в текущий локальный каталог, чтобы найти файл Dockerfile. Обратите внимание, что Docker будет отправлять результат в виде изображения на каждом этапе сборки, а затем обрабатывать предыдущий слой изображения как кеш, поэтому, когда мы пересобираем аналогичный слой изображения, мы будем напрямую повторно использовать предыдущий образ. Если нам нужно пропустить, мы можем использовать--no-cache
option говорит Docker не кэшировать.
3. Детали инструкций Dockerfile
Dockerfile предоставляет множество инструкций. Автор специально составил здесь список, который рекомендуется к сбору и просмотру.
Официальный адрес:docs.docker.com/engine/ref Э…
Идентификация команды 1: RUN, CMD, ENTRYPOINT
RUN
,CMD
,ENTRYPOINT
Цель трех инструкций очень знакома, разница в том,RUN
Директивы — это команды, запускаемые при сборке контейнера.CMD
,ENTRYPOINT
это команда оболочки, выполняемая при запуске контейнера, иRUN
Будетdocker run
переопределение команды, ноENTRYPOINT
не будет перезаписан. По факту,docker run
Любые параметры, указанные командой, будут снова переданы в качестве параметров дляENTRYPOINT
инструкция.CMD
,ENTRYPOINT
Его также можно использовать вместе между двумя командами. Например, мы можем использоватьENTRYPOINT
Форма exec устанавливает фиксированную команду и параметры по умолчанию, а затем использует любую формуCMD
для установки других значений по умолчанию, которые могут быть изменены.
FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]
Идентификация инструкции 2: ДОБАВИТЬ, КОПИРОВАТЬ
ADD
,COPY
Использование команды такое же, единственное отличиеADD
Поддерживает извлечение и распаковку архивных файлов (tar, gzip, bzip2 и т. д.). Пожалуйста, имейте в виду,COPY
Каталог, который будет скопирован инструкцией, должен находиться в каталоге того же уровня, что и файл Dockerfile.
4. Отправьте образ в удаленный репозиторий.
Удаленный репозиторий: Docker Hub
После создания образа мы можем загрузить его в Docker Hub. Сначала нам нужно пройтиdocker login
Убедитесь, что мы вошли в систему. Далее мы используемdocker push
команда нажать.
docker push lianggzone/nginx_demo:v1
Здесь мы понимаем его использование, форматdocker push [OPTIONS] NAME[:TAG]
, где автор устанавливает имя lianggzone/nginx_demo и TAG v1. (Примечание автора: скорость загрузки Docker Hub очень низкая, пожалуйста, терпеливо подождите) Наконец, после завершения загрузки, посетите:Hubei.docker.com/U/ два слова, ох ты.../, как показано на рисунке.
Удаленный склад: Alibaba Cloud
В то же время мы также можем использовать внутренние склады, такие как Alibaba Cloud. Сначала войдите в экземпляр реестра, введя свои учетные данные для доступа в терминале. Если вы не знаете какой, вы можете посетитьAdult.console.aliyun.com/cai-Ханчжоу….
docker login --username=帐号 registry.cn-hangzhou.aliyuncs.com
Теперь отправьте образ в репозиторий образов Alibaba Cloud. в,docker tag [IMAGE_ID] registry.cn-hangzhou.aliyuncs.com/[命名空间]/[镜像名称]:[版本]
иdocker push registry.cn-hangzhou.aliyuncs.com/[命名空间]/[镜像名称]:[版本]
Использование команды следующее.
docker tag 794c07361565 registry.cn-hangzhou.aliyuncs.com/lianggzone/nginx_demo:v1
docker push registry.cn-hangzhou.aliyuncs.com/lianggzone/nginx_demo:v1
Наконец, после завершения загрузки посетите:Adult.console.aliyun.com/cai-Ханчжоу…, как показано на рисунке.
5. Адрес источника Dockerfile на Github
Здесь прилагается репозиторий скомпилированного мной Dockerfile. Позже автор будет обновлять некоторые часто используемые файлы один за другим, добро пожаловать, обратите внимание.
Прикрепленный: Ссылки
- «Докер в действии»
- Первая книга о докере
- Справочная документация по командам Docker
- Справочная документация по сборке образа Dockerfile
(Конец, перепечатка с указанием автора и источника.)
напиши в конце
[Мышление на стороне сервера]: давайте поговорим об основных технологиях на стороне сервера, а также обсудим структуру проекта и практический опыт первой линии Интернета. В то же время семья «заднего круга», в которой много технических экспертов, с нетерпением ждет вашего присоединения, группы людей с одинаковой частотой, которые вместе растут, вместе совершенствуются и ломают ограничения познания.
Еще больше интересных статей в разделе «Серверное мышление»!