Оригинальный адрес:блог 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/до…