Docker & Co. - zacisco/notes GitHub Wiki
For Debian (Source):
Add key:
wget -qO - https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Add repo:
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install:
sudo apt install docker-ce docker-ce-cli containerd.io
Linux (Source)
Download Docker Compose binaries from the release page on this repository.
Rename the relevant binary for your OS to docker-compose
and copy it to $HOME/.docker/cli-plugins
Or copy it into one of these folders for installing it system-wide:
-
/usr/local/lib/docker/cli-plugins
OR/usr/local/libexec/docker/cli-plugins
-
/usr/lib/docker/cli-plugins
OR/usr/libexec/docker/cli-plugins
(might require to make the downloaded file executable with chmod +x
)
For active user:
DOCKER_CONFIG=${DOCKER_CONFIG:-$HOME/.docker}
For all users:
DOCKER_CONFIG=${DOCKER_CONFIG:/usr/local/lib/docker}
then:
mkdir -p $DOCKER_CONFIG/cli-plugins
wget -O $DOCKER_CONFIG/cli-plugins/docker-compose https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s | tr '[A-Z]' '[a-z]')-$(uname -m)
chmod +x $DOCKER_CONFIG/cli-plugins/docker-compose
execute and relogin: sudo usermod -aG docker $USER
- Docker самый простой и понятный туториал
- Docker - Всё что нужно знать чтобы начать работать с Docker, все основы в одном уроке
- 5 приёмов уменьшения образа Docker
- ENTRYPOINT vs CMD: назад к основам
- Работа с сетью (Networking) в Docker
- Docker (letsCode)
CMD ["cmd", "param1", "param2"]
or ENTRYPOINT ["cmd", "param1", "param2"]
CMD cmd param1 param2
or ENTRYPOINT cmd param1 param2
or ENTRYPOINT exec cmd param1 param2
$env:DOCKER_HOST="tcp://0.0.0.0:2375"
docker ps
or
$env:DOCKER_HOST="tcp://localhost:2375"
docker ps
Since version 17.03.1-ce-win12 (12058) you must check Expose daemon on tcp://localhost:2375 without TLS if you use Docker for Windows and connecting via TCP
or
Universal Java Build and Make Container (Gradle)
FROM gradle:jdk17-alpine AS build
#FROM gradle:jdk17 AS build
COPY --chown=gradle:gradle . /home/gradle/src
RUN cd /home/gradle/src && gradle build --no-daemon && echo $(ls -1 /home/gradle/src/build/libs/)
FROM openjdk:17-slim
#FROM openjdk:17-oracle
RUN mkdir /app
COPY --from=build /home/gradle/src/build/libs/*.jar /app/
EXPOSE 8080
#ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app/*.jar"]
ENTRYPOINT exec java -Djava.security.egd=file:/dev/./urandom -jar /app/*.jar
Universal NodeJS Build and Make Container with NGINX
# Stage 1 - build project
FROM node:18-alpine3.15 as build-deps
WORKDIR /app
#COPY package.json yarn.lock ./
COPY package.json package-lock.json ./
RUN npm install --legacy-peer-deps
COPY . ./
RUN npm run build
# Stage 2 - build server
FROM nginx:1.12-alpine
COPY nginx/fullchain.pem /etc/ssl/certs/fullchain.pem
COPY nginx/privkey.pem /etc/ssl/private/privkey.pem
COPY nginx/nginx.conf /etc/nginx/conf.d/default.conf
COPY --from=build-deps /app/build/ /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]