• 『Docker』Docker 명령어 및 정리
    DevOps/Docker 2022. 8. 12. 11:50

    타 블로그 복붙입니다. 링크 하단에 있습니다.

    아래 모든 내용은 https://velog.io/@guri_coding/야-Docker이리나와-2-오류-및-명령어 의 내용을 복붙했습니다.

    제가 한거 1도 없이 복사만 했습니다.

    1. Docker Trouble Shooting

    1.1 Docker push: manifest invalid

    • 같은 태그의 Docker 버전을 다시 푸시했을 때 허가되지 않아 실패하는 경우

    1.2 Docker pull: missing signature key

    • 이슈를 해결하기 위해 Docker push 명령어를 다시 한 경우

    1.3 Docker cp: Error response from daemon: not a directory

    • symbol link 내에 컨테이너 폴더가 있는 경우

    1.4 Find process id by container name

    docker top $container_id 
    혹은
    docer top $container_name

    1.5 List resource usage by containers

    docker stats

    1.6 Get dockered storage driver

    docker info 에서 Storage Drive 확인하기

    1.7 docker-containerd-shim

    • Docker engine, containerd, containerd-shim, runC로 구성된 Docker의 4가지 요소

    2. 운영체제 별 Docker 설치 방법

    2.1 Ubuntu

    apt-get install docker.io

    2.2 CentOs

    2.3 Debian 10

    3. Docker 시작 시 명령어

    3.1 Ubuntu test env 시작

    docker run ubuntu:16.04 /bin/echo hello world

    3.2 Ubuntu 18.04 test env 버전이 다른 것일 때

    docker run ubuntu:18.04 /bin/echo hello world

    3.3 컨테이너 시작과 동시에 정지

    docker run --rm ubuntu:18.04 /bin/echo hello world

    3.4 debian9 test env의 경우

    docker run debian:9 /bin/echo hello world

    3.5 centos test env의 경우

    docker run centos:centos6 /bin/echo hello world

    3.6 Jenkins 서버

    docker run -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts

    3.7 nginx 서버

    docker run -t -d -p 8080:80 --name nginx-test nginx

    3.8 nexus 서버

    docker run -d -p 8082:8081 --name nexus -v /data/nexus-data:/nexus-data sonatype/docker-nexus3

    3.9 sshd 서버

    docker run -t -d --privileged -p 5022:22 denny/sshd:latest /usr/sbin/sshd -D

    3.10 ftp 서버

    docker run -t -d -p 21:21 -p 20:20 -e USERNAME=${username} -e PASSWORD=${password} denny/proftproftpd:v1

    4. Container 기본 명령어

    4.1 Docker Container 실행하기

    docker run -p 4000:80 imgname

    4.2 Docker Container를 Detached 모드로 실행하기

    docker run -d -p 4000:80 imgname

    4.3 entrypoint 변경하면서 컨테이너 실행하기

    docker run -t -d --entrypoint=/bin/sh "$docker_image"

    4.4 실행 중인 컨테이너 들어가기

    docker exec -it <container-id> sh

    4.5 컨테이너 파일 시스템에 로컬 파일 업로드하기

    docker cp /tmp/foo.txt mycontainer:/foo.txt

    4.6 로컬 파일시스템에서 컨테이너 파일 다운로드 하기

    docker cp mycontainer:/foo.txt /tmp/foo.txt

    4.7 컨테이너 멈추기

    docker stop <hash>

    4.8 컨테이너 제거하기

    docker rm <hash>

    4.9 모든 컨테이너 제거하기

    docker rm $(docker ps -a -q)

    4.10 컨테이너 강제로 셧다운 하기

    docker kill <hash>

    4.11 도커 Hub에 로그인하기

    docker login

    4.11 이미지 Tag하기

    docker tag <image> username/repo:tag

    4.12 저장소에 태그된 이미지 푸시하기

    docker push username/repo:tag

    4.13 태그된 이미지 실행하기

    docker run username/repo:tag

    4.14 도커 이미지 생성하기

    docker build -t username/image:test

    5. Docker Cleanup(정리하기)

    5.1 모든 컨테이너 삭제하기

    • delete-all-containers.sh

    5.2 사용하지 않는 도커 이미지 제거하기

    • delete-unused-images.sh

    5.3 이름이 없거나 사용하지 않는 이미지 제거하기

    docker image prune -f <- -f는 filter의 의미로 조건을 넣어주면 됨

    5.4 컨테이너와 연결되지 않거나 사용하지 않는 볼륨 제거하기

    docker volume prune -f

    5.5 특정 이미지 제거하기

    docker rmi <imagename>

    5.6 모든 도커 이미지들 제거하기

    docker rmi $(docker images -q)

    5.7 Orphaned docker volumes 제거하기

    docker dvolume rm $(docker volume ls -qf dnagling=true)

    5.8 죽은(dead) 컨테이너 제거하기

    docker rm $(docker ps --filter status=dead -qa)

    5.9 종료된(exited) 컨테이너 제거하기

    docker rmn $(docker ps --filte

     

    위 모든 내용은 https://velog.io/@guri_coding/야-Docker이리나와-2-오류-및-명령어 의 내용을 복붙했습니다.

    제가 한거 1도 없이 복사만 했습니다.

     

     

    댓글