Docker
что бы докер запускать без sudo
надо добавить текущего пользователя в группу docker, и перезагрузить компьютер
sudo gpasswd -a $USER docker
Состояния
created - создан
restarting - перезапуск
running - активен или работает
paused - приостановлен
exited - остановлен
Команды
Hello world
docker run debian echo "Hello World"
Подключиться к терминалу
docker docker exec -it name_docker /bin/sh
docker run -i -t debian /bin/bash
docker run -it debian bash
Список всех активных процессов
docker ps
Список всех процессов
docker ps -a
Задать имя хоста -h
docker run -h CONTAINER -i -t debian /bin/bash
Много информации о конкретном контейнере*
docker inspect stupefied_turing
docker inspect stupefied_turing | grep IPAddress
docker inspect --format {{.NetworkSettings.IPAddress}} stupefied_turing
Список файлов измененных в контейнере
docker diff stupefied_turing
Логи запущенного приложения
docker logs stupefied_turing
docker logs --follow stupefied_turing
Удалить контейнер
docker rm stupefied_turing
Удаление всех остановленных контейнеров
docker rm -v ${docker ps -aq -f status=exited}
Создаем свой контейнер
docker run -it --name cowsay --hostname cowsay debian bash
apt-get update
apt-get install -y cowsay fortune
exit
docker commit cowsay test/cowsayimage
docker run test/cowsayimage /usr/game/cowsay "Moo"
держать контейнер запущенным
https://stackoverflow.com/questions/38546755/docker-compose-keep-container-running
version: '2'
services:
my-test:
image: ubuntu
command: tail -F anything
docker compose
подключится изнутри докера к локальной машине
more
host.docker.internal
Сборка spring приложения
FROM gradle:6.9-jdk17
USER root
WORKDIR /http-server
COPY build.gradle.kts build.gradle.kts
COPY src src
RUN gradle --refresh-dependencies clean build jar
FROM openjdk:17-jdk-slim
WORKDIR /http-server
COPY --from=0 /http-server/build/libs/http-server.jar app.jar
EXPOSE 8080
CMD ["java", "-Xms2G", "-Xmx2G", "-server", "-jar", "app.jar"]