Но есть проблема...
Программное обеспечение для автоматизации развёртывания и управления приложениями в среде виртуализации на уровне операционной системы.
Позволяет «упаковать» приложение со всем его окружением и зависимостями в контейнер, который может быть перенесён на любую Linux-систему с поддержкой cgroups в ядре, а также предоставляет среду по управлению контейнерами.
FROM ubuntu:18.04
LABEL maintainer="Artem V. Navrotskiy"
RUN apt-get -y update
RUN apt-get install -y openjdk-8-jdk-headless
ENV WORK /opt/tech-db-hello
ADD java-spring/ $WORK/java-spring/
ADD common/ $WORK/common/
WORKDIR $WORK/java-spring
RUN ./gradlew assemble
EXPOSE 5000
CMD java -Xmx300M -Xmx300M -jar \
$WORK/java-spring/build/libs/java-spring.jar
docker build --no-cache -t web
docker history web
IMAGE CREATED CREATED BY SIZE COMMENT
142e08487e9f 3 minutes ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "java 0 B
89554758e753 3 minutes ago /bin/sh -c #(nop) EXPOSE 5000/tcp 0 B
5bf1ec77528d 3 minutes ago /bin/sh -c ./gradlew assemble 209.4 MB
f627d2a79e3b 5 minutes ago /bin/sh -c #(nop) WORKDIR /opt/tech-db-hello 0 B
c86551883943 5 minutes ago /bin/sh -c #(nop) ADD dir:f6c361eff4dcd18df9a 3.968 MB
854f85a7870a 5 minutes ago /bin/sh -c #(nop) ADD dir:b3d037b5a457bd71162 23.65 MB
92a00899fc26 5 minutes ago /bin/sh -c #(nop) ENV WORK=/opt/tech-db-hell 0 B
329813b55a21 5 minutes ago /bin/sh -c apt-get install -y openjdk-8-jdk-h 186.1 MB
7c973a535a50 5 minutes ago /bin/sh -c apt-get -y update 39.76 MB
f0c74fcd39ff 5 minutes ago /bin/sh -c #(nop) LABEL maintainer="Artem V. 0 B
104bec311bcd 9 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 9 weeks ago /bin/sh -c mkdir -p /run/systemd && echo 'doc 7 B
<missing> 9 weeks ago /bin/sh -c sed -i 's/^#\s*\(deb.*universe\)$/ 1.895 kB
<missing> 9 weeks ago /bin/sh -c rm -rf /var/lib/apt/lists/* 0 B
<missing> 9 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' > /u 745 B
<missing> 9 weeks ago /bin/sh -c #(nop) ADD file:7529d28035b43a2281 128.9 MB
docker image ls
docker image rm alpine:3.4
docker image prune
docker image prune --all --filter until=4h
docker volume ls
docker volume prune
docker system df
docker builder prune
docker system prune
docker run
--rm # удалить контейнер после остановки
-it # подключить контейнер к терминалу
-d # запуск в фоновом режиме
--name web # имя контейнера
-p 5000:80 # опубликовать на 5000-ом порту 80-ый
# порт контейнера
-v ~/dev:/code # использовать директорию внутри контейнера
alpine:3.4 # имя запускаемого образа
/bin/sh # команда, запускаемая внутри контейнера
docker stop web
docker kill web
docker ps
docker container prune
docker run --rm -it ubuntu
docker exec -it web bash
docker logs --tail 100 web