Версионирование, push и pull вашего образа

В этом разделе, вы зададите версию и закачаете образ docker-whale в только что созданный репозиторий. Когда все будет готово, вы протестируете репозиторий посредством загрузки из него нового образа.

Шаг 1: Версионирование и push образа

Если вы еще не открыли терминал сделайте это:

  1. В командной строке выполните команду docker images для отображения списка существующих образов:

    $ docker images
    REPOSITORY           TAG          IMAGE ID            CREATED             SIZE
    docker-whale         latest       7d9495d03763        38 minutes ago      273.7 MB
    <none>               <none>       5dac217f722c        45 minutes ago      273.7 MB
    docker/whalesay      latest       fb434121fc77        4 hours ago         247 MB
    hello-world          latest       91c95931e552        5 weeks ago         910 B
    
  2. Найдите IMAGE ID для вашего образа docker-whale.

    В данном примере он равен 7d9495d03763 (у вас он может отличаться).

    Обратите внимание что REPOSITORY показывает имя репозитория docker-whale, но не пространство имен. Вам необходимо включить namespace в Docker Hub для ассоциирования его с вашим аккаунтом. namespace совпадает с именем вашего аккаунта Docker Hub. Вам необходимо переименовать образ по этому шаблону YOUR_DOCKERHUB_NAME/docker-whale.

  3. Используйте IMAGE ID и команду docker tag чтобы указать версию вашего образа docker-whale.

    Введенная вами команда выглядит примерно так:

    Docker tag command

    Конечно, имя вашей учетной записи будет другим. Таким образом, вы вводите команду с ID образа и имя вашей учетной записи и нажмите ввод.

    $ docker tag 7d9495d03763 maryatdocker/docker-whale:latest
    
  4. Снова выполните команду docker images что бы увидеть образ и его версию.

    $ docker images
    REPOSITORY                  TAG       IMAGE ID        CREATED          SIZE
    maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
    docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
    <none>                      <none>    5dac217f722c    5 hours ago      273.7 MB
    docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
    hello-world                 latest    91c95931e552    5 weeks ago      910 B
    
  5. Используйте команду docker login что бы авторизоваться в Docker Hub из командной строки.

    Формат команды будет таким:

    docker login 
    

    При появлении соответствующего запроса введите логин, пароль и нажмите клавишу ВВОД. Например:

    $ docker login
    Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
    Username: 
    Password:        
    Login Succeeded
    
  6. Введите команду docker push что бы выгрузить ваш образ в репозиторий.

    $ docker push maryatdocker/docker-whale
        The push refers to a repository [maryatdocker/docker-whale] (len: 1)
        7d9495d03763: Image already exists
        c81071adeeb5: Image successfully pushed
        eb06e47a01d2: Image successfully pushed
        fb434121fc77: Image successfully pushed
        5d5bd9951e26: Image successfully pushed
        99da72cfe067: Image successfully pushed
        1722f41ddcb5: Image successfully pushed
        5b74edbcaa5b: Image successfully pushed
        676c4a1897e6: Image successfully pushed
        07f8e8c5e660: Image successfully pushed
        37bea4ee0c81: Image successfully pushed
        a82efea989f9: Image successfully pushed
        e9e06b06e14c: Image successfully pushed
        Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
    
  7. Вернитесь в ваш профиль в Docker Hub что бы увидеть новый образ.

Docker tag command

Шаг 2: Загрузка (pull) нового образа

В этом разделе, вы скачаете (pull) образ, который вы выгрузили (push) на Docker Hub. Прежде чем вы сделаете это, вам необходимо удалить исходный образ с локального компьютера. Если вы оставили исходный образ на вашей машине, Докер не будет качать образ из Docker Hub - к чему бы это, ведь оба образа идентичны.

  1. Убедитесь что Docker запущен и откройте терминал командной строки.

  2. В командной строке введите docker images для вывода списка образов на вашей машине.

    $ docker images
    REPOSITORY                  TAG       IMAGE ID        CREATED          SIZE
    maryatdocker/docker-whale   latest    7d9495d03763    5 minutes ago    273.7 MB
    docker-whale                latest    7d9495d03763    2 hours ago      273.7 MB
    <none>                      <none>    5dac217f722c    5 hours ago      273.7 MB
    docker/whalesay             latest    fb434121fc77    5 hours ago      247 MB
    hello-world                 latest    91c95931e552    5 weeks ago      910 B
    

    Для проведения корректного теста, вам необходиму удалить образы maryatdocker/docker-whale и docker-whale из вашей локальной системы. Их удаление вынудит в следующий раз docker pull скачать их из репозитория.

  3. Используйте команду docker rmi что бы удалить образы maryatdocker/docker-whale и docker-whale.

    Также вы можете использовать ID или название для команды удаления.

    $ docker rmi -f 7d9495d03763
    $ docker rmi -f docker-whale
    
  4. Сделайте Pull и загрузите новый образ из репозитория с помощью команды docker run.

    Команда должна включать имя пользователя на Docker Hub.

     docker run yourusername/docker-whale
    

    Поскольку образ больше не доступен в локальной системе, Docker будет вынужден скачать его.

    $ docker run maryatdocker/docker-whale
    Unable to find image 'maryatdocker/docker-whale:latest' locally
    latest: Pulling from maryatdocker/docker-whale
    eb06e47a01d2: Pull complete
    c81071adeeb5: Pull complete
    7d9495d03763: Already exists
    e9e06b06e14c: Already exists
    a82efea989f9: Already exists
    37bea4ee0c81: Already exists
    07f8e8c5e660: Already exists
    676c4a1897e6: Already exists
    5b74edbcaa5b: Already exists
    1722f41ddcb5: Already exists
    99da72cfe067: Already exists
    5d5bd9951e26: Already exists
    fb434121fc77: Already exists
    Digest: sha256:ad89e88beb7dc73bf55d456e2c600e0a39dd6c9500d7cd8d1025626c4b985011
    Status: Downloaded newer image for maryatdocker/docker-whale:latest
     ________________________________________
    / Having wandered helplessly into a      \
    | blinding snowstorm Sam was greatly     |
    | relieved to see a sturdy Saint Bernard |
    | dog bounding toward him with the       |
    | traditional keg of brandy strapped to  |
    | his collar.                            |
    |                                        |
    | "At last," cried Sam, "man's best      |
    \ friend -- and a great big dog, too!"   /
     ----------------------------------------
                    \
                     \
                      \
                              ##        .
                        ## ## ##       ==
                     ## ## ## ##      ===
                 /""""""""""""""""___/ ===
            ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
                 \______ o          __/
                  \    \        __/
                    \____\______/
    

Что дальше

Пользуясь этим руководством вы научились решать множество фундаментальных задач Docker.

  • устанавливать Docker
  • запускать образ программного обеспечения в контейнере
  • искать нужные образы в Docker Hub
  • запускать образ на вашем персональном компьютере
  • создавать собственный образ и запускать его
  • регистрировать аккаунт на Docker Hub и создавать репозиторий
  • выгружать ваш образ на Docker Hub для использования другими разработчиками
 

Пока мы всего лишь коснулись основных возможностей Docker. Перейдите к следующему разделу что бы узнать больше.

 


Комментарии:

Комментариев нет, желаете стать первым?

Пожалуйста, авторизуйтесь что бы оставлять комментарии.