Вы не найдете эквивалент docker pull
в Kubernetes, потому что эта команда связана с управлением изображениями.Объяснение ниже.
Одной из возможностей Docker
является возможность создания Images
.Вы можете создать свое собственное изображение, используя Dockerfile
(docker build .
) или извлекая из Docker Hub , который содержит множество предварительно созданных изображений.
Если вы используете команду pull
, она просто загрузит образ, не развернет ни один контейнер.
$ docker pull hello-world
Using default tag: latest
latest: Pulling from library/hello-world
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
hello-world latest fce289e99eb9 5 months ago 1.84kB
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
Как видите, $ docker pull
будет отображать только загруженное изображение.Поскольку Docker также отвечает за управление изображениями, вы можете pull
или push
изображения в хранилище (DockerHub).
Чтобы создать контейнер в Docker
, вам нужно использовать $ docker run
.Эта команда автоматически загрузит образ и запустит контейнер.
$ docker run --name mynginx -p 80:80 -d nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
...
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4abf804611a8 nginx "nginx -g 'daemon of…" 4 minutes ago Up 4 minutes 0.0.0.0:80->80/tcp mynginx
Вкратце:
Create
добавляет записываемый контейнер поверх вашего изображения и настраивает его для выполнения любой указанной вами командыв вашем CMD.Идентификатор контейнера сообщается обратно, но он не запускается.
Start
запустит все остановленные контейнеры.Сюда входят только что созданные контейнеры.
Run
- это комбинация создания и запуска.Он создает контейнер и запускает его.
Kubernetes - система управления контейнером, поэтому он не отвечает за создание или редактирование изображений. Именно поэтому вы не найдете эквивалента docker pull
(загрузить только изображение).
Команды типа kubectl apply -f <deployment>
с изображением внутри файла YAML или kubectl run nginx --image=nginx
основаны на изображениях из DockerHub(больше похоже на docker create
).
Надеюсь, это помогло.