Ez a dokumentum egy előző változata!
Használjuk a docker playground-ot: http://docker.iit.uni-miskolc.hu
Klónozzuk a Wildfly alkalmazás szerver példáit:
git clone https://github.com/wildfly/quickstart.git cd quickstart/helloworld
Docker segítségével lefordíthatunk egy tetszőleges példát:
docker run -it --rm --name helloworld -v "$(pwd)":/usr/src/helloworld -w /usr/src/helloworld maven:3.8.7-openjdk-18-slim mvn clean install
A parancs magyarázata az alábbi:
Hozzunk létre egy másik Dockerfile-t a ./target könyvtárban:
FROM quay.io/wildfly/wildfly ADD helloworld.war /opt/jboss/wildfly/standalone/deployments
Indítsuk el az alábbi két parancsot:
Az első létrehozza a kontainert, a második pedig elindítja.
docker build -t quay.io/wildfly/wildfly . docker run -p 8080:8080 quay.io/wildfly/wildfly
„Open port” gomb megnyomása után a 8080-as portot kérjük megnyitni, majd az url.hez írjuk hozzá: /helloworld/
Ha egy új konténert is indítunk, akkor a git clone-ról se feledkezzünk meg:
git clone https://github.com/wildfly/quickstart.git cd quickstart
A docker-compose.yml rugalmasabb megoldást ad, mert nem kell több parancsot megjegyezni, hanem egy fájlban kezelhetjük a beállításokat.
Tehát a quickstart könyvtárban hozzuk létre az alábbi docker-compose.yml-t:
version: '3' compiler: image: maven:3.8.7-openjdk-18-slim volumes: - ./helloworld:/usr/src/helloworld working_dir: /usr/src/helloworld command: mvn clean install
A fenti megoldás sem eléggé rugalmas, mert a helloword-on kívül más példát is el szeretnénk indítani. Hozzunk létre egy .env fájlt és tároljuk el környezeti változóként az elérési utat:
FOLDER_NAME=quickstart/helloworld
A docker-compose.yml az alábbi lesz:
version: '3' compiler: image: maven:3.8.7-openjdk-18-slim volumes: - ${FOLDER_NAME}:/usr/src/${FOLDER_NAME} working_dir: /usr/src/${FOLDER_NAME} command: mvn clean install
Ha magunk hozzuk létre a Dockerfile-t vagy docker-compose.yml-t akkor óhatatlanul is elronthatjuk, ilyenkor a következő paranccsal lehet újrafordítani:
docker-compose build --no-cache