docker ps filter
docker ps -f "name=minio*"
docker reset
git reset --hard
docker-compose fast
export DOCKER_BUILDKIT=1 # or configure in daemon.json
export COMPOSE_DOCKER_CLI_BUILD=1
COMPOSE_DOCKER_CLI_BUILD=1 docker-compose build
COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker-compose build
dockerhub login
docker login --username=yknam
docker tag node365(local) yknam/node365:latest(remote)
docker push yknam/node365:latest
docker run -d -P -v $HOME/mysite:/usr/s
hare/nginx/html --name mysite nginx
docker port mysite
docker-compose up,build,no-build
docker-compose build : 이미지만 생성
docker-compose up : 컨테이너실행 (이미지 없으면 생성)
docker-compose up --build --no-deps: 기존 이미지사용않고 새로 이미지생성 후 컨테이너실행
docker-compose up --build : 강제로 이미지생성 후 컨테이너실행
docker-compose up --no-build : 이미지생성없이 컨테이너실행
모든 컨테이너 삭제
docker rm -f $(docker ps -aq)
directory size
du -hs <dir>
네트워크 생성
docker network create --driver=bridge javahome
doekcer network ls
네트워크로 묶기
docker run -itd --name=alpine1 --network=javahome alpine
docker run -itd --name=alpine2 --network=javahome alpine
docker network inspect javahome
docker attach alpine1
->ping <container ip>
->ping alpine2 (컨테이너명으로도 핑됨)
도커 ENTRYPOINT vs CMD
[CMD]
FROM ubuntu:16.04
CMD echo 'welcome to docker'
CMD echo 'welcome to python'
->docker build -t app .
docker run -it <containerid> -->마지막것만 실행됨
[ENTRYPOINT]
FROM ubuntu:16.04
ENTRYPOINT["echo", "hi docker"]
nginx Dockerfile
#base image
FROM nginx:latest
#custom index.html from Git
ADD https://gist.githubusercontent.com/ProProgrammer/72a87394affb0a70f54af6e6353e3c45/raw/37fcecc6d43dba55effa9e1fa6f7183f349b9ba0/index.html /usr/share/nginx/html/
#Adding read permission to custom index.html
RUM chmod +r /usr/share/nginx/html/index.html
#'nginx -g daemon off'
CMD ["nginx","-g","daemon off;"]
nginx Dockerfile 2
#Build Stage Start
#Specify a base image
FROM node:alpine as builder
#Specify a working directory
WORKDIR '/app'
#Copy the dependencies file
COPY package.json .
#Install dependencies
RUN npm install
#Copy remaining files
COPY . .
# Inform Docker that the container is listening on the specified port at runtime.
EXPOSE 8080
#Build the project for production
#RUN npm run build
#Run Stage Start
FROM nginx
#Copy production build files from builder phase to nginx
COPY --from=builder /app/build /usr/share/nginx/html
docker compose로 이미지 생성
docker-compose up --build
docker log보기(실시간)
docker logs -f <container>
docker jenkins
sudo docker run -u root --rm -d -p 8080:8080 -v jenkins-data:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock --name jenkins jenkinsci/blueocean
git local 무시
git reset --hard