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

depends on

подключится изнутри докера к локальной машине
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"]
Пока не указано иное, содержимое этой страницы распространяется по лицензии Creative Commons Attribution-ShareAlike 3.0 License