도커 공식 문서를 바탕으로 명령어를 요약했습니다.
더 필요한 내용은 공식 문서에서 찾아볼 수 있습니다.
SAVE 부터 시작
docker login [OPTIONS] [SERVER] [flags]
docker login [COMMAND]
docker login --help
# Login Docker Hub
docker login
docker login -u YOUR_ID
# Login to a self-hosted registry
docker login localhost:8080
# Provide a password using STDIN
cat ~/my_password.txt | docker login --username foo --password-stdin
docker logout [SERVER] [flags]
docker logout [command]
docker logout --help
# Logout Docker Hub
docker logout
# Logout to a self-hosted registry
docker logout localhost:8080
docker attach [OPTIONS] CONTAINER
docker attach --help
https://docs.docker.com/engine/reference/commandline/attach/#examples
docker build [OPTIONS] PATH | URL | -
docker build --help
# Build with PATH
docker build .
# Build with URL
docker build github.com/creack/docker-firefox
# Build with -
1. docker build - < Dockerfile
2. docker build - < context.tar.gz
docker buildx [OPTIONS] COMMAND
[ options ]
1. --builder string : 설정된 빌더 인스턴스를 재정의한다.
[ commands ]
1. bake : 하나의 파일로부터 빌드를 실행한다.
2. build : 빌드를 시작한다.
3. create : 하나의 새로운 빌더 인스턴스를 생성한다.
4. imagetools : registry 에 있는 이미지에서 작업하기 위한 명령어.
4. du : Disk usage
5. inspect : 현재 빌더 인스턴스를 검사한다.
6. ls : 빌더 인스턴스의 리스트.
7. prune : 빌드 캐시를 제거한다.
8. rm : 하나의 빌더 인스턴스를 제거한다.
9. stop : 빌더 인스턴스를 중지한다.
10. use : 현재 빌드 인스턴스를 설정한다.
11. version : buildx 버전 정보를 보여준다.
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
docker commit --help
https://docs.docker.com/engine/reference/commandline/commit/#examples
docker commit CONTAINER_ID centos7:2.0
# host -> container
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
# conatiner -> host
docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp --help
#host -> container
docker cp ~/data/helloWorld.txt myContainer:/root/data/
# container -> host
docker cp myContainer:/root/data/helloWorld.txt ~/data/
docker exec [OPTIONS] CONTAINER COMMAND [ARGS...]
docker exec --help
docker exec myContainer pwd
docker exec myContainer ps
docker exec -i -t myContainer bash => docker exec -it myContainer bash
docker images [OPTIONS] [REPOSITORY[:TAG]]
docker images --help
docker images
docker images -a
docker kill [OPTIONS] CONTAINER [CONTAINERS...]
docker kill --help
docker kill my_container
docker load [OPTIONS]
docker load --help
docker load < busybox.tar.gz
docker load --input fedora.tar
docker logs [OPTIONS] CONTAINER
docker logs --help
docker logs -f CONTAINER -> 생성되는 로그를 계속 조회
docker logs --tail N CONTAINER -> 마지막 N개의 로그만 확인
docker logs --tail N -f CONTAINER -> 마지막 N개의 로그 출력 & 생성되는 로그 계속 조회
docker pause CONTAINER [CONTAINER...]
docker pause --help
docker pause my_container
docker port CONATINER [PRIVATE_PORT[/PROTOCOL]]
docker port --help
# Show all mapped ports
docker port my_container
docker port my_container 7890/tcp
docker port my_container 7890/udp
docker port my_container 7890
docker ps [OPTIONS]
docker ps --help
docker ps -> 현재 실행중인 컨테이너 목록만 조회
docker ps -a -> 모든 컨테이너의 목록을 조회
docker pull [OPTONS] NAME[:TAG | @DIGEST]
docker pull --help
docker pull mysql -> docker pull mysql:latest 와 같은 의미
[TAG]
docker pull mysql:latest -> tag 이용
docker pull mysql:8.0.28 -> tag 이용
[DIGEST]
docker pull mysql:c2e99ad580f5 -> digest 이용
docker push [OPTIONS] NAME[:TAG]
docker push --help
docker rename CONTAINER NEW_NAME
docker rename --help
docker rename my_container my_new_container
docker restart [OPTIONS] CONTAINER [CONTAINER...]
docker restart --help
docker restart my_container
docker rm [OPTIONS] CONTAINER [CONTAINER...]
docker rm --help
# Container ID 로 삭제
docker rm conatiner_id
# Container 이름으로 삭제
docker rm container_name
# Remove a container : This removes the container referenced under the link /redis.
docker rm /redis
# Force-remove a running container
docker rm --force redis
docker rmi [OPTIONS] IMAGE [IMAGE...]
docker rmi --help
# image ID 로 삭제
docker rmi image_id
# image REPOSITORY:TAG 로 삭제
docker rmi test:latest
# 이미지 강제 삭제
docker rmi -f test:latest
docker rmi --force test:latest
docker run [OPTIONS] IMAGE [COMMAND] [ARGS...]
docker run --help
docker run --name myFirstMySQL -e MYSQL_ROOT_PASSWORD=password -d mysql:TAG
ㄴ mysql:TAG 이미지를 이용하여 새로운 컨테이너에서 mysql 인스턴스를 실행하는 명령어
ㄴ --name : 실행되는 컨테이너의 이름을 지정하는 옵션
ㄴ -e : 환경 변수를 설정해주는 옵션
ㄴ -d : 컨테이너를 백그라운드에서 실행하고 해당 컨테이너의 ID 를 프린트해주는 옵션
docker tag SOURCE_IMAGE[:tag] TARGET_IMAGE[:TAG]
=> docker tag 기존 이미지명[:태그] 새로운 이미지명[:태그]
docker tag --help
docker tag demo-api:1.0 demo-api:1.1
docker tag api:1.0 demo-api:1.0
docker tag api:1.0 demo-api:2.0