Оригинальный адрес:блог haifeiwu и его друзей
адрес блога:www.hchstudio.cn
Добро пожаловать в перепечатку, пожалуйста, указывайте автора и источник, спасибо!
Docker Я давно слышал его знаменитое имя, но всегда пренебрегал практикой и готов сделать это сегодня.
Dockerчто это такое?
Docker — это пакет контейнеров Linux, предоставляющий простой в использовании интерфейс контейнера.В настоящее время это самое популярное контейнерное решение для Linux.
Docker упаковывает приложение и зависимости программы в один файл. Запуск этого файла создаст виртуальный контейнер. Программы запускаются в этом виртуальном контейнере, как если бы они работали на реальной физической машине. С Docker вам не нужно беспокоиться об окружающей среде.
В целом, интерфейс Docker довольно прост, и пользователи могут легко создавать и использовать контейнеры, а также помещать в контейнеры свои собственные приложения. Контейнеры также можно версионировать, копировать, совместно использовать и изменять, как и обычный код.
Dockerкак использовать?
Установить эту статьюDockerосновывается наCentOS7, для других систем перейдите непосредственно на официальный сайтquick start.
удалить старую версиюDocker
старая версияDockerназываетсяdockerилиdocker-engine. Если они установлены, удалите их и связанные с ними зависимости.
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine
УстановитьDocker CE
Вы можете установить его по-разному в соответствии с вашими потребностямиDocker CE:
-
Большинство пользовательских настроек
Dockerрепозиторий и установить из него для облегчения задач установки и обновления. СлишкомDockerОфициально рекомендуемый метод. -
Некоторые пользователи скачивают
RPMпакеты и вручную устанавливать и управлять обновлениями полностью вручную. Это устанавливается в системах с воздушным зазором, например, без доступа в Интернет.Dockerочень полезно в случае . -
В средах тестирования и разработки некоторые пользователи предпочитают использовать автоматизированные сценарии удобства для установки.
Docker.
В этой статье используется первый метод:
Первая установка на новый хостDocker CEПеред этим нужно установитьDockerрепозиторий. После этого можно устанавливать и обновлять из репозиторияDocker.
настраиватьREPOSITORY
1. Установите необходимые пакеты.yum-utilsпоставкаyum-config-managerполезность,devicemapperТребуется драйвер хранилищаdevice-mapper-persistent-dataа такжеlvm2.
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
2. Используйте следующую команду для настройки стабильного репозитория.
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
УстановитьDocker CE
1. Установите последнюю версиюDocker CEили перейдите к следующему шагу, чтобы установить конкретную версию
sudo yum install docker-ce
2. Чтобы установить конкретную версиюDocker CE, пожалуйста, перечислитеrepoдоступная версия в , затем выберите и установите:
А. Перечислите и отсортируйте версии, доступные в вашем репозитории. В этом примере результаты сортируются по номеру версии, от самой высокой к самой низкой, с усечением:
yum list docker-ce --showduplicates | sort -r
docker-ce.x86_64 18.09.0.ce-1.el7.centos docker-ce-stable
Возвращаемый список зависит от включенных репозиториев и специфичен для вашегоCentOSверсия (в этом примере начинается с.el7указывает суффикс).
б) Установите конкретную версию по ее полному имени пакета, имени пакета (docker-ce) плюс строка версии (столбец 2) до первого дефиса, разделенная дефисом (-), например,docker-ce-18.03.0.ce.
sudo yum install docker-ce-<VERSION STRING>
DockerУстановил, но еще не запускал. созданныйdockerгруппа, но ни один пользователь не был добавлен в группу.
3. СтартDocker
sudo systemctl start docker
4. Начинаяhello-worldзеркало для проверкиDockerУстановил и успешно запустил
sudo docker run hello-world
Приведенная выше команда загружает тестовый образ и запускает его в контейнере. Когда контейнер запускается, он печатает информационное сообщение и завершает работу.
удалитьDocker CE
1. Удалите установочный пакет докера
sudo yum remove docker-ce
2. Образы, контейнеры, тома или пользовательские профили на хосте не удаляются автоматически. Чтобы удалить все образы, контейнеры и тома:
sudo rm -rf /var/lib/docker
Maven создает образ Docker для Spring Boot
Соберите проект, измените конфигурацию
пройти черезstart.spring.io/Соберите проект Spring Boot.
Изменить pom-файл
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<!-- tag::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.3.6</version>
<configuration>
<!--suppress UnresolvedMavenProperty -->
<repository>${docker.image.prefix}/${project.artifactId}</repository>
</configuration>
</plugin>
<!-- end::plugin[] -->
<plugin>
<groupId>com.spotify</groupId>
<artifactId>docker-maven-plugin</artifactId>
<!--<version>0.4.12</version>-->
<configuration>
<!-- 注意imageName一定要是符合正则[a-z0-9-_.]的,否则构建不会成功 -->
<!-- 详见:https://github.com/spotify/docker-maven-plugin Invalid repository name ... only [a-z0-9-_.] are allowed-->
<dockerHost>http://127.0.0.1:2375</dockerHost>
<imageName>docker-springboot</imageName>
<baseImage>java</baseImage>
<entryPoint>["java", "-jar", "/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
<targetPath>/</targetPath>
<directory>${project.build.directory}</directory>
<include>${project.build.finalName}.jar</include>
</resource>
</resources>
</configuration>
</plugin>
</plugins>
</build>
должен быть в курсе<dockerHost>http://127.0.0.1:2375</dockerHost>, если установлено локальноdocker, просто используйте локальный по умолчанию, если он не установлен, он должен быть удаленнымdockerСервис должен быть настроен на сервереdocker, пожалуйста, перейдите кУдаленное подключение к докеру.
Добавить кDockerfile
Уведомлениеcom.whforever.dockerspringboot.DockerSpringbootApplicationОтносится кSpring BootЗапись кода для проекта.
FROM openjdk:8-jdk-alpine
VOLUME /tmp
ARG DEPENDENCY=target/dependency
COPY ${DEPENDENCY}/BOOT-INF/lib /app/lib
COPY ${DEPENDENCY}/META-INF /app/META-INF
COPY ${DEPENDENCY}/BOOT-INF/classes /app
ENTRYPOINT ["java","-cp","app:app/lib/*","com.whforever.dockerspringboot.DockerSpringbootApplication"]
строить строитьSpring BootизDockerзеркало
воплощать в жизньmavenкоманда, выполнить сборку
mvn clean package docker:build
После того, как выполнение завершено, мы можем удаленно увидеть только что построенныйSpring Bootзеркальное отражение.
docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e5f2c7e4e7c1 docker-springboot:latest "java -jar /docker-s…" 22 hours ago Up 22 hours 0.0.0.0:8080->8080/tcp agitated_kilby
запустить образ докера
docker run -p 8080:8080 docker-springboot
Идеально……
резюме
Код, задействованный в этой статье, был загружен наgithub, заинтересованные друзья, пожалуйста, нажмитеGitHub.com/HaifeiWU/до…