Создайте сервер с нуля, чтобы более элегантно развертывать проекты

Docker
Создайте сервер с нуля, чтобы более элегантно развертывать проекты

если тебе нужноповторяющийсяНеобходимо развернуть один и тот же проект в нескольких местах, если вы когда-либо сталкивались"На моем компе вроде нормально работает"Вопрос, если услышишьDockerНо еще не использовал его, если вы не уверены, действительно ли он вам нужен.Docker,Так,Надеюсь, вы найдете время, чтобы прочитать эту статью!

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

Теперь давайте взглянем наDockerФактический эффект от развертывания проекта, надеюсь, вы почувствуетеDockerУ меня есть первое впечатление!

  • Dockerразвернутыйnginxв видеобратный проксисервер, поддержкаhttpsдоступ иОбщее доменное имяРазбор.

Адрес опыта:snowdreams1006.cn/

docker-snowdreams1006.cn-nginx-https-preview.png

  • Dockerразвернутыйletsencrypt Создайте бесплатный общий сертификат доменного имениИ интегрируйте обратный прокси-сервисnginxвыполнитьhttpsдоступ.

Адрес опыта:www.snowdreams1006.cn/

docker-snowdreams1006.cn-letsencrypt-https-preview.png

  • DockerразвернутыйnginxВ качестве статического сервера развернитестатический веб-сайтИспользуется для демонстрации функциональности статического блога.

Адрес опыта:resume.snowdreams1006.cn/

docker-snowdreams1006.cn-nginx-static-preview.png

  • DockerразвернутыйbarkВ качестве внутреннего сервера развертывайте проекты с открытым исходным кодом, чтобы действовать каксообщениесервер.

Адрес опыта:bark.snowdreams1006.cn/ping

docker-snowdreams1006.cn-bark-go-preview.png

  • DockerразвернутыйwebhookВ качестве внутреннего сервера развертывайте проекты с открытым исходным кодом для полученияWebhookОбратный вызов события.

Адрес опыта:Web hook.snow dream1006.cai/hooks/gitfox…

docker-snowdreams1006.cn-webhook-github-preview.png

  • DockerразвернутыйblogВ качестве статического сервера на основеGithub ActionилиWebhookРеализовать контент блогаАвтоматическое обновление и push-сообщения.

GithubЗапускается после обновления содержимого репозиторияGithub ActionАвтоматически создавать и развертывать статические блоги на удаленных серверах при отправкеWebhookсобытия даютwebhookловушка контейнера с последующим вызовомbarkКонтейнер push-сообщений, реализующий push-сообщения в сообщения WeChat и уведомления приложений.

docker-snowdreams1006.cn-blog-action-preview.png

GithubАвтоматически запускаться после обновления репозиторияGithub ActionСоздайте статический блог из исходного кода и загрузите его на удаленный сервер,blogКонтейнер немедленно перезапустится, чтобы завершить обновление содержимого.

docker-snowdreams1006.cn-blog-notice-preview.jpeg

GithubОтправлено после обновления складаWebhooksна удаленный сервер,webhookПосле того, как контейнер получает запрос, он пересылает егоbarkконтейнер, а затем нажмите его на мобильный телефон.

Будь то знакомый проект с открытым исходным кодом или незнакомый проект с открытым исходным кодом,Dockerсделать эти различия одинаковыми, Унифицированный метод управления значительно снижает стоимость использования и более элегантно развертывает проект.Это действительно больше, чем просто разговоры!

docker-logo-whale.jpg

Предварительные условия

Сейчас я вLinuxустановлен в системеDocker, системная версия имеет следующие требования:

  • CentOS : 7
  • Debian: 7.7 (Wheezy LTS), 8.0 (Jessie LTS), 9 (Stretch)
  • Федора: 24, 25
  • Ubuntu: 16.04 (Xenial LTS), 14.04 (Trusty LTS), 17.04 (пикантный)

С одной стороны, вышеперечисленные условия в основном удовлетворяются новым сервером, с другой стороны, автор не проводил глубоких экспериментов по этому поводу, и читателям предлагается убедиться в этом самостоятельно.Centos7.6Пример, объясняющий, как установитьDocker .

Проверьте среду

Для новичков, хотя установкаDockerЭто очень просто, но неизбежно столкновение с некоторыми непредвиденными ситуациями, возможно, ошибка установки должна быть переустановлена ​​или нет уверенности, был ли установлен удаленный сервер, поэтому перед началом установки проверьте, был ли он установлен или нет.DockerБар!

  • перечислитьdockerЗаказ

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

Единственное, что вам нужно сделать сейчас, это научитьсяDockerОсновное использование , потому что вам не нужно устанавливать его самостоятельноDockerВ принципе, вам не нужно смотреть вниз.

[root@snowdreams1006 ~]# docker

Usage:	docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  builder     Manage builds
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  engine      Manage the docker engine
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Run 'docker COMMAND --help' for more information on a command.

если вы войдетеdockerнамекатьcommand not found, что указывает на то, что сервер, вероятно, не установленDockerсреду, далее вы узнаете, как установить шаг за шагомDockerокружающая обстановка!

УстановитьDocker

  1. Step 1: удалить старую версию
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

Этот шаг необязателен, так как последняя версияDockerИмя изменено, чтобы убедиться, что установлена ​​последняя версияDocker-CE, поэтому сначала удалите старую версию, которая могла быть установлена.

  1. Step 2: Установите необходимые системные зависимости
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Установите некоторые необходимые зависимости, просто следуйте инструкциям официального руководства, даже если среда уже существует в системе, вы можете запустить ее снова, скопировать и вставить с уверенностью!

  1. Step 3: добавить информацию об источнике программного обеспечения.
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  1. Step 4: обновить кеш yum
sudo yum makecache fast
  1. Step 5: установить докер-се
sudo yum -y install docker-ce

Если во время описанного выше процесса установки не было сообщено об ошибках, основныеDockerокружающая обстановка!

запускатьDocker

  • Посмотреть статус
sudo systemctl status docker

После успешной первой установки она не запустится автоматически по умолчанию.Dockerслужба, выходные результаты просмотра рабочего состояния в это время не будут включатьActive: active (running)ноActive: inactive (dead) .

  • первая загрузка
sudo systemctl start docker

После установки не запускается по умолчаниюDockerсервис, поэтому его нужно запускать после установкиDockerслужбы, проверьте статус работы еще разsudo systemctl status dockerдолжно появиться бегущееActive: active (running) .

  • Начать сначала
sudo systemctl restart docker

еслиDockerСлужбу можно перезапустить, если она была остановлена, и ее можно перезапустить, если она уже была запущена.

  • Не работает
sudo systemctl stop docker

если работаетDockerЕсть проблема, которую нужно остановить для обслуживания, тогда вы можете остановиться в первую очередьDockerСервис, может быть запущен после технического обслуживанияsudo systemctl start dockerЗапустите службу снова.

  • Проверить автозапуск
systemctl list-unit-files | grep enabled | grep docker

экзаменDockerЗапустится ли служба автоматически после загрузки, если есть результат, значит, она запустится автоматически, если результата нет, значит, она не запустится автоматически.

  • Автоматический старт
sudo systemctl enable docker

DockerСлужба является очень важной технологической службой. Как правило, ее необходимо запускать автоматически после загрузки, чтобы гарантировать, что служба может быть восстановлена ​​​​сама по себе после неожиданного завершения работы. Рекомендуется запускать автоматически после загрузки.

  • Отключить автозапуск
sudo systemctl disable docker

Если вы случайно установили автозапуск при загрузке и действительно не планируете запускать его автоматически, вы можете отключить функцию автозапуска при загрузке, и он не будет запускаться автоматически после очередной перезагрузки компьютера.DockerСлужить.

  • Посмотреть версию
docker version

Посмотреть установленные в данный моментDockerМожно увидеть, что информация о версии в основном разделена на две части:Client: Docker Engine - Communityа такжеServer: Docker Engine - Community .

[root@snowdreams1006 ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.5
 API version:       1.40
 Go version:        go1.12.12
 Git commit:        633a0ea
 Built:             Wed Nov 13 07:25:41 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.5
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.12
  Git commit:       633a0ea
  Built:            Wed Nov 13 07:24:18 2019
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.10
  GitCommit:        b34a5c8af56e510852c35414db4c1f4fa6172339
 runc:
  Version:          1.0.0-rc8+dev
  GitCommit:        3e425f80a8c931f88e6d94a8c831b9d5aa481657
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Теперь вам не нужно заботиться о конкретной информации о версии, просто запуститеdocker versionПосле команды можно вывести подобную информацию, а затем приступить к реальному исполнению!

Зеркальное ускорение

DockerСлужба установлена ​​и запущена, после чего мы можем основываться наDockerПриложение развернуто, конечно, до развертывания собственного приложения еще далеко, но мы можем запустить общедоступное приложение!

Первое, что нужно сделать при изучении любого нового языка, это запуститьhello world,УчитьDockerКонтейнерные развертывания не являются исключением, мы также запускаемDockerверсияhello world !

когда мы печатаемdocker run hello-worldПосле команды терминал выведет следующее, пока выводHello from Docker!Слова доказывают, что окружающая среда была создана!

[root@snowdreams1006 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
Digest: sha256:4df8ca8a7e309c256d60d7971ea14c27672fc0d10c5f303856d7bc48f8cc17ff
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

[root@snowdreams1006 ~]# 

Если скорость вашего интернета относительно низкая, описанный выше процесс может занять некоторое время, но если скорость вашего интернета средняя, ​​а описанный выше процесс ненормально медленный, возможно, это связано с тем, что вы не настроили зеркалирование!

потому чтоDockerПо умолчанию нужно загрузить проект из-за рубежа на местный, а затем запустить сервис, как мы обычно посещаемGithubКроме того, скорость интернета не такая низкая!

GithubОтсутствие зеркального ускоренного адреса не ускорит нам доступ, ноDockerНа складе проекта есть зеркальные склады.Есть много отечественных зеркальных сервисов, которые предоставляют такой вид зеркальных услуг.В основном, вам нужно зарегистрировать аккаунт, чтобы получить адрес зеркала и так далее.

Вот адрес зеркального склада NetEasehttp://hub-mirror.c.163.comИ адрес личного склада изображений Alibaba Cloudhttps://8upnmlh3.mirror.aliyuncs.com .

Просто настройте адрес зеркала наDocker, при следующей загрузке проекта скорость должна значительно возрасти!

Предпочтительно открыть и изменить/etc/docker/daemon.jsonфайл, если нет, создайте новый файл со следующим содержимым:

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

Перезагрузитесь после сохраненияDockerсервис, попробуйdocker pull nginxБудет ли это скоро?

удалить докер

Если вы обнаружите, что случайно хотите переустановитьDockerслужбы или просто хотите удалитьDocker, затем просто выполните следующую команду, чтобы очиститьDockerокружающая обстановка!

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker

запустить снова в этот моментdockerкоманда подскажетcommand not found, я с нетерпением жду встречи с вами в следующий раз в новом образе!

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

Как мы впервые встретились, когда мы успешно установилиDockerЗадняя консоль выводит много информации об использовании, но я был молод и легкомыслен в то время, и мне было все равно.Оглядываясь назад, я нахожу ее такой полезной!

[root@snowdreams1006 ~]# docker

Usage:	docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  builder     Manage builds
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  engine      Manage the docker engine
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Run 'docker COMMAND --help' for more information on a command.

Самостоятельное введение

Первый абзац введения использования является введением себя.Использование:docker [OPTIONS] COMMAND,которыйdocker + 可选选项 + 必选命令.

Значит этоA self-sufficient runtime for containersПредоставьте автономную среду выполнения для контейнеров!

Usage:	docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

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

Контейнер есть контейнер, грузовое судно обеспечивает автономную среду для контейнера, а контейнеры независимы друг от друга, что также является простым объяснением первого абзаца.

конфигурация опций

Давайте продолжим рассмотрение второго абзаца, который в основном объясняет, какие элементы конфигурации существуют, и конкретное значение этих элементов конфигурации.

Options:
      --config string      Location of client config files (default "/root/.docker")
  -c, --context string     Name of the context to use to connect to the daemon (overrides DOCKER_HOST env var and default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

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

нет новостей видел последнюю-v, --versionопция, что означает печать информации о версии и выход.

Увидев это, мы поймем, что исходный ходовойdocker versionи тут--versionЭто не то же самое!

[root@snowdreams1006 ~]# docker -v
Docker version 19.03.5, build 633a0ea
[root@snowdreams1006 ~]# docker --version
Docker version 19.03.5, build 633a0ea

Только по результатам вывода,docker --versionБолее кратко, если вы просто проверите, прошла ли установка среды успешно, или запуститеdocker --versionОтносительно просто и понятно.

Административные команды

Третья частьDockerПоддерживаемые команды управления, не будем сейчас вдаваться в подробности, просто создайте впечатление, обратите внимание, что есть команда о зеркалированииdocker image

Management Commands:
  builder     Manage builds
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  engine      Manage the docker engine
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Поскольку использование в представлении о себеdocker [OPTIONS] COMMAND, а скобки[]Указывает, что содержимое является необязательным, поэтому базовое использование без каких-либо параметровdocker COMMAND, так что оimageПолное использование команды:docker image .

[root@snowdreams1006 ~]# docker image

Usage:	docker image COMMAND

Manage images

Commands:
  build       Build an image from a Dockerfile
  history     Show the history of an image
  import      Import the contents from a tarball to create a filesystem image
  inspect     Display detailed information on one or more images
  load        Load an image from a tar archive or STDIN
  ls          List images
  prune       Remove unused images
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rm          Remove one or more images
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

Run 'docker image COMMAND --help' for more information on a command.

В команде управления есть и другие подкоманды.Общее использование примерно такое же, как и содержание, представленное ранее.Основное использование:docker image COMMAND .

Среди поддерживаемых команд естьls, так что звонитеlsПоследняя полная команда команды:docker image ls .

# docker image ls
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
hello-world            latest              fce289e99eb9        11 months ago       1.84kB

сервер установленimageв том числе знакомыеhello-world, а что такоеREPOSITORY,чтоIMAGEПока не вникайте в это, просто знайте, как использовать эти команды без документации!

Если вы обратите внимание, вы можете увидетьRun 'docker image COMMAND --help' for more information on a command.В этом предложении кажется, что у нас есть готовые справочные документы для изучения!

или сlsКоманда в качестве примера для демонстрации использованияdocker image COMMAND --helpОзнакомьтесь со справочной документацией.

[root@snowdreams1006 ~]# docker image ls --help

Usage:	docker image ls [OPTIONS] [REPOSITORY[:TAG]]

List images

Aliases:
  ls, images, list

Options:
  -a, --all             Show all images (default hides intermediate images)
      --digests         Show digests
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print images using a Go template
      --no-trunc        Don't truncate output
  -q, --quiet           Only show numeric IDs

Хотя воробей маленький и имеет все внутренние органы, я не ожидалlsКоманды также имеют более подробные инструкции по использованию, поддерживающие необязательные параметры и[REPOSITORY[:TAG]],Кроме тогоls, images, listПсевдонимы!

еслиlsимеютimagesа такжеlistПсевдоним, тогда это не значитdocker image lsЭквивалентноdocker image imagesа такжеdocker image list ?

[root@snowdreams1006 ~]# docker image list
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
hello-world            latest              fce289e99eb9        11 months ago       1.84kB
[root@snowdreams1006 ~]# docker image images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
hello-world            latest              fce289e99eb9        11 months ago       1.84kB

Судя по приведенным выше результатам, эффект от работы всех трех действительно одинаков, и кажется, что был открыт новый континент!

нормальная команда

назадdockerОсновная строка команды, в дополнение к команде управления, также является общей командой.Эта часть команды также является командой, которая часто используется и является ключевой для изучения и освоения!

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Хотя команда хороша, она не должна быть слишком жадной или найти самую простую, которая только что использовалась.docker runа такжеdocker versionЗаказать его!

  • docker run : Run a command in a new container

Это означает, что запуск команд в новом контейнере и перевод их на живой язык — это выполнение скрытых и загадочных операций в контейнере!

  • docker version : Show the Docker version information

показыватьDockerинформация о версии, запомнитьdocker --version?

Если забудешь, посмотри вверх,--versionОписаниеPrint version information and quit, это более простая информация о версии.

Независимо от того, является ли это командой управления или общей командой, после непосредственного ввода команды будут соответствующие инструкции по использованию и справочная информация.--helpВот и все!

[root@snowdreams1006 ~]# docker run
"docker run" requires at least 1 argument.
See 'docker run --help'.

Usage:  docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Run a command in a new container

справочная информация

Последнее - это выделение, добавьте в конце команды--helpВы можете получить более подробную справочную информацию, которая подходит не только для команд первого уровня.docker image --helpТакже подходит для второстепенных подкомандdocker image ls --help .

Run 'docker COMMAND --help' for more information on a command.

Поэтому, если вы встретите незнакомые или незнакомые команды, пожалуйста, запомните их.--helpкоманда помощи, этоdockerСамый важный пункт всех заказов!

резюме отзыва

DockerЭто новый стандартизированный способ развертывания, эксплуатации и обслуживания. По сравнению с традиционной упаковкой и развертыванием он более унифицирован и стандартизирован. Товары разнообразны, как и разнообразие языков разработки. Однако появление контейнеров подорвало логистику и транспорт Огромный прогресс!

Что, если выJavaФоновая разработка, более-менее должен иметь опыт самостоятельного развертывания проектов, сначала зайти на сервер и установитьJavaПереустановите средуTomcatсреде и, наконец, загрузите свой собственныйWarпакет вTomcatРазвертывание каталога, такой повторяющийся и утомительный труд, не обязательно гарантирует разовый успех!

Потому что иногда в вашем коде есть абсолютные пути, вы обязательно получите ошибку при деплое на сервер, а также будет сообщено об ошибке, если у вас отсутствуют личные файлы и т. д. В это время появляется классический диалог: Очевидно, он запущен хорошо на моем компьютере. !

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

Независимо от того, транспортируется ли закрытый контейнер локально или контейнер транспортируется удаленным сервером, результат один и тот же, и не будет взаимных жалоб, вызванных несовместимостью сред!

Так вот вопрос, если вам дали контейнер, сможете ли вы безопасно и быстро доставить его в пункт назначения?Если у вас уже есть партия товара на руках и вам нужна такая контейнерная услуга, как быстро упаковать его в контейнер?

На первый вопрос в этой статье дан ответ, т.docker + docker COMMAND --helpЗапрашивайте поддерживаемые команды и просматривайте справочную документацию по командам.

[root@snowdreams1006 ~]# docker

Usage:	docker [OPTIONS] COMMAND

A self-sufficient runtime for containers

Options:
      --config string      Location of client config files (default
                           "/root/.docker")
  -c, --context string     Name of the context to use to connect to the
                           daemon (overrides DOCKER_HOST env var and
                           default context set with "docker context use")
  -D, --debug              Enable debug mode
  -H, --host list          Daemon socket(s) to connect to
  -l, --log-level string   Set the logging level
                           ("debug"|"info"|"warn"|"error"|"fatal")
                           (default "info")
      --tls                Use TLS; implied by --tlsverify
      --tlscacert string   Trust certs signed only by this CA (default
                           "/root/.docker/ca.pem")
      --tlscert string     Path to TLS certificate file (default
                           "/root/.docker/cert.pem")
      --tlskey string      Path to TLS key file (default
                           "/root/.docker/key.pem")
      --tlsverify          Use TLS and verify the remote
  -v, --version            Print version information and quit

Management Commands:
  builder     Manage builds
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  engine      Manage the docker engine
  image       Manage images
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands:
  attach      Attach local standard input, output, and error streams to a running container
  build       Build an image from a Dockerfile
  commit      Create a new image from a container's changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container's filesystem
  events      Get real time events from the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents from a tarball to create a filesystem image
  info        Display system-wide information
  inspect     Return low-level information on Docker objects
  kill        Kill one or more running containers
  load        Load an image from a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out from a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping for the container
  ps          List containers
  pull        Pull an image or a repository from a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  rm          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive (streamed to STDOUT by default)
  search      Search the Docker Hub for images
  start       Start one or more stopped containers
  stats       Display a live stream of container(s) resource usage statistics
  stop        Stop one or more running containers
  tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
  top         Display the running processes of a container
  unpause     Unpause all processes within one or more containers
  update      Update configuration of one or more containers
  version     Show the Docker version information
  wait        Block until one or more containers stop, then print their exit codes

Run 'docker COMMAND --help' for more information on a command.

Для второго вопроса, пожалуйста, просмотритеdockerСвязанные команды, в следующий раз я поделюсь примером, как его использоватьdockerТранспортные контейнеры, спасибо за чтение!

Если вы хотите более удобно просматривать серию статей, пожалуйста, посетите мой сайтsnowdreams1006.tech/илиblog.snowdreams1006.cn/, если вам это нравится, просто поставьте палец вверх и вперед!

использованная литература

Если вы считаете, что эта статья полезна для вас, добро пожаловатьСтавь лайк и оставляй сообщениеСкажи мне, что твоя поддержка является движущей силой для меня, чтобы продолжать творить, кстати, возможно, ты захочешь обратить внимание на мой личный публичный аккаунт."Технологическая станция «Снежная мечта»», регулярно обновляйте качественные статьи!

雪之梦技术驿站.png