[JAVA] So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ

spring-boot-doma2-sample Ich habe auf das Repository verwiesen. ** build.gradle ** wurde neu geschrieben.

Spring Initializr

Erstellen Sie zunächst an der folgenden Stelle eine Federanwendung. https://start.spring.io/

Fügen Sie das von der Anwendung verwendete Plug-In zu Abhängigkeiten hinzu.

Klicken Sie abschließend unten auf * GENERATE *, um die heruntergeladene Zip-Datei zu entpacken und in einen geeigneten Verzeichnisnamen umzubenennen.

スクリーンショット 2020-06-01 22.51.44.png

** docker-compose ** erscheint nicht in initializr, also füge es zu ** build.gradle ** hinzu.

Öffnen Sie ein Projekt in Intelli J.

Wählen Sie unter ** Öffnen oder Importieren ** das oben genannte umbenannte Verzeichnis aus. スクリーンショット 2020-06-01 23.10.05.png

Ändern Sie build.gradle

Öffnen Sie ** build.gradle ** in Ihrem Projekt. Da dies wie folgt ist, fügen Sie bitte den Teil // add hinzu.

build.gradle


plugins {
	id 'java'
	id 'org.springframework.boot' version '2.3.1.BUILD-SNAPSHOT'
	id 'io.spring.dependency-management' version '1.0.9.RELEASE'
	id 'com.avast.gradle.docker-compose' version '0.12.1' //hinzufügen
	id 'org.flywaydb.flyway' version '6.4.3'
}

// ...Abkürzung

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-data-jdbc'
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	implementation 'org.flywaydb:flyway-core'
	developmentOnly 'org.springframework.boot:spring-boot-devtools'
	runtimeOnly 'mysql:mysql-connector-java'
	testImplementation('org.springframework.boot:spring-boot-starter-test') {
		exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
	}
}

Site zum Überprüfen von Gradle-Plugins → Gradle-Plugins suchen

スクリーンショット 2020-06-01 22.45.33.png

スクリーンショット 2020-06-01 22.46.05.png

Docker-Einstellungen

Erstellen Sie ein ** Docker ** -Verzeichnis in Ihrem Projekt und erstellen Sie ** docker-compose.yml **.

docker-compose.yml


version: '2'
services:
    todo-db:
        build: ./mysql  #Geben Sie das Verzeichnis an, in dem sich die Docker-Datei befindet
        environment:
            - MYSQL_DATABASE=todo
            - MYSQL_ROOT_USER=root
            - MYSQL_ROOT_PASSWORD=passw0rd
            - TZ=Japan
        image: docker_todo-db
        container_name: todoDb
        ports:
            - "33068:3306"  #Wenn Sie bereits 33068 verwenden, ändern Sie es in eine andere Nummer

Erstellen Sie ein ** mysql ** -Verzeichnis und dann ** Dockerfile ** und ** my.cnf **.

Dockerfile


FROM mysql:5.7

RUN /bin/cp -f /etc/localtime /etc/localtime.org
RUN /bin/cp -f /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

COPY ./my.cnf /etc/mysql/conf.d/

RUN mkdir -p /var/log/mysql
RUN chown mysql.mysql /var/log/mysql

my.cnf


[mysqld]
default-storage-engine=InnoDB
user=mysql
character-set-server=utf8mb4
skip-character-set-client-handshake

;general_log=1
;general_log_file=/var/log/mysql/query.log
long_query_time=3
slow_query_log_file=/var/log/mysql/slow-query.log

max_allowed_packet=16MB
innodb_file_per_table
innodb_buffer_pool_size=64M
sort_buffer_size=2M
read_buffer_size=2M
read_rnd_buffer_size=2M
group_concat_max_len=2048

[mysqld_safe]
log-error=/var/log/mysqld.log

[mysql]
default-character-set=utf8mb4

Starten Sie Docker

Öffnen Sie ein Terminal mit IntelliJ und führen Sie ./gradlew compose Up aus. Wenn Sie ein Protokoll wie das folgende sehen, sind Sie fertig.

> Task :composeUp
Building todo-db

...Kürzung

TCP socket on localhost:33068 of 'todoDb' is ready
+--------+----------------+-----------------+
| Name   | Container Port | Mapping         |
+--------+----------------+-----------------+
| todoDb | 3306           | localhost:33068 |
+--------+----------------+-----------------+

BUILD SUCCESSFUL in 15s

Überprüfen Sie die Tabelle

Überprüfen Sie, ob die Tabelle in MySQL im Docker-Container erstellt wurde.

Verwenden Sie das IntelliJ-Terminal. Führen Sie "Docker ps" aus. Stellen Sie sicher, dass der laufende Container wie unten gezeigt angezeigt wird.

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                                NAMES
149c67cc70d5        docker_todo-db      "docker-entrypoint.s…"   17 seconds ago      Up 15 seconds       33060/tcp, 0.0.0.0:33068->3306/tcp   todoDb

Führen Sie "docker exec -it todoDb / bin / bash" aus, um in den Container zu gelangen. Es wird zu "root @ : / #", und Sie können sehen, dass es sich im Container befindet.

$ docker exec -it todoDb /bin/bash
root@149c67cc70d5:/#

Greifen Sie mit mysql -u root -p auf MySQL zu. Sie werden nach einem Passwort gefragt. Geben Sie daher hier das in ** docker-compose.yml ** angegebene "** passw0rd **" ein.

MYSQL_ROOT_PASSWORD=passw0rd

$ mysql -u root -p
Enter password: 
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| todo               |
+--------------------+
5 rows in set (0.00 sec)

Eine Tabelle mit dem Namen ** todo ** wurde ordnungsgemäß erstellt.

Im nächsten Artikel möchte ich die Migration mit ** flyway-core ** automatisieren. Nächster Artikel ⇨ Artikel zur Migrationsautomatisierung

Recommended Posts

So erstellen Sie eine Docker-Umgebung mit Gradle for IntelliJ
So erstellen Sie eine Rails 6-Umgebung mit Docker
[Rails] So erstellen Sie eine Umgebung mit Docker
So erstellen Sie mit Docker ~ Express ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
So beenden Sie Docker für Mac und erstellen eine Docker-Entwicklungsumgebung mit Ubuntu + Vagrant
So erstellen Sie mit Docker ~ MySQL ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
So erstellen Sie eine Rails + Vue + MySQL-Umgebung mit Docker [neueste Version 2020/09]
So erstellen Sie mit Docker ~ Sequelize ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 6.x)
Erstellen einer Docker-Umgebung mit WSL
So erstellen Sie eine Ruby on Rails-Entwicklungsumgebung mit Docker (Rails 5.x)
So erstellen Sie die Docker + Springboot-App (für grundlegendes Lernen)
[Docker-Umgebung] Umgang mit ActiveSupport :: MessageEncryptor :: InvalidMessage
So erstellen Sie eine Java-Entwicklungsumgebung mit VS Code
[Fehlerbehebung] Tritt auf, wenn versucht wird, mit Docker eine Umgebung für den Frühling zu erstellen
So erstellen Sie mit Docker ~ Vue ~ eine [TypeScript + Vue + Express + MySQL] -Umgebung
Erstellen Sie mit Docker eine lokale Couchbase-Umgebung
Erstellen Sie mit Docker eine Node.js-Umgebung
Umgebungsbau mit Docker für Anfänger
Erstellen Sie mit Laradock eine Docker + Laravel-Umgebung
So erstellen Sie CloudStack mit Docker
So starten Sie Camunda mit Docker
[Rails] [Docker] Kopieren und Einfügen ist in Ordnung! So erstellen Sie eine Rails-Entwicklungsumgebung mit Docker
So teilen Sie Dateien mit Docker Toolbox
Erstellen Sie mit Docker eine PureScript-Entwicklungsumgebung
Ich habe versucht, mit Docker eine Plant UML Server-Umgebung zu erstellen
So installieren Sie Pry nach dem Erstellen einer Rails-Entwicklungsumgebung mit Docker
Erstellen Sie mit Docker eine Wordpress-Entwicklungsumgebung
Erstellen Sie mit Docker Compose eine Entwicklungsumgebung für Django + MySQL + nginx
[Docker] Erstellen Sie die Ausführungsumgebung von Jupyter Lab mit Docker
Erstellen Sie eine Umgebung mit Docker unter AWS
Erstellen Sie mit Docker eine TensorFlow-Betriebsüberprüfungsumgebung
So führen Sie Blazor (C #) mit Docker aus
[Für diejenigen, die Portfolios erstellen] Verwendung von binding.pry mit Docker
Erstellen Sie eine Debug-Umgebung auf einem Container. Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials.
Ausführen mit normalen Befehlen für die Entwicklungssprache in der Docker-Entwicklungsumgebung
01. Ich habe versucht, eine Umgebung mit SpringBoot + IntelliJ + MySQL (MyBatis) (Windows 10) zu erstellen.
[Docker] So erstellen Sie eine virtuelle Umgebung für Rails- und Nuxt.js-Apps
So erstellen Sie mit rbenv eine Umgebung für eine beliebige Version von Ruby
Erstellen Sie mit Docker eine lokale Entwicklungsumgebung für Rails-Tutorials (Rails 6 + PostgreSQL + Webpack)
Erstellen Sie eine Entwicklungsumgebung für Docker + Rails6 + Postgresql
[Java] So testen Sie, ob es in JUnit null ist
Machen Sie die SpringBoot1.5 + Gradle4.4 + Java8 + Docker-Umgebung mit Java11 kompatibel
Erstellen Sie eine Laravel / Docker-Umgebung mit VSCode devcontainer
Erstellen Sie mit Docker schnell eine WordPress-Entwicklungsumgebung
Erstellen Sie mit Gradle Spring Boot-Projekte nach Umgebung
So geben Sie jemandem Ihr Image mit Docker
So erstellen Sie eine API mit GraphQL und Rails