본문 바로가기
도커

docker 기본 명령어

by eclipse7727 2022. 6. 19.

docker image다운로드(pull)

ex) docker pull [OPTIONS] NAME[:TAG|@DIGEST]
docker pull node:latest

docker image 검색(search)

ex) docker search [OPTIONS] TERM
docker search node
  • Docker hub로 부터 사용가능한 이미지를 찾습니다.
    • Docker hub : 사용자들간 이미지를 공유 할 수 있는 환경

docker image 생성(build)

ex) docker build [OPTIONS] PATH | URL | -

# path 로 빌드시
docker build .

# URL로 빌드시
docker build github.com/creack/docker-firefox

docker image 목록 보기 (images)

ex) docker images [OPTIONS] [REPOSITORY[:TAG]]
ex) 옵션없이
$ docker images

REPOSITORY        TAG                 IMAGE ID            CREATED             SIZE
<none>            <none>              77af4d6b9913        19 hours ago        1.089 GB
committ           latest              b6fa739cedf5        19 hours ago        1.089 GB
<none>            <none>              78a85c484f71        19 hours ago        1.089 GB
docker            latest              30557a29d5ab        20 hours ago        1.089 GB
ex) Image 이름으로 찾기
docker images java

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
java                8                   308e519aac60        6 days ago          824.5 MB
java                7                   493d82594c15        3 months ago        656.3 MB
java                latest              2711b1d6f3aa        5 months ago        603.9 MB

image로 container 생성 (run)

ex) docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
ex) 이름 할당 및, TTY 할당(--name, -it)
$ docker run --name test -it node

# test로 이름 할당, -it 옵션을 통해 입출력 가능하게 설정, debian 이라는 이미지를 사용
# -i : 연결되지 않은 경우에도 STDIN을 열어둠
# -t : tty 할당
ex) 볼륨 마운트(-v)
# -v `내 디렉토리 주소`
docker run -v `pwd`:`pwd` -it  node
ex) workdir 설정 (-w)
# -w 옵션은 Dockerfile의 WORKDIR 설정을 덮어쓰기 위해서 사용
docker run -w /etc node pwd
/etc
ex) --rm 옵션 container가 중지되었을 때 container 삭제
docker run --name test -it node 
ex) port 설정 3000(host), 80(container port)
docker run -p 3000:80 --name test -it node

container 실행 목록 (ps)

docker ps [OPTIONS]

-a : 모든 컨테이너 목록
-s : 파일 크기 표시

container bash 연결 (exec)

ex) 실행중인 container에 입출력 연결
docker exec -it containerName bash

ex) exit를 입력하면 나올 수 있음.
❯ docker exec -it 1b8 bash
root@1b8d54d47972:/# exit
exit

container 중지 (stop)

docker stop containername

container 삭제 (rm)

ex) 다음은 jenkins 컨테이너 중지> 시작 > 삭제 과정이다.

# jenkins 컨테이너 중지 (bd3만 입력해도 알아서 도커가 알아서 검색해서 찾아냄) 
❯ docker stop bd38
bd38

# 사용중인 컨테이너 리스트 확인
❯ docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED        STATUS                       PORTS                               NAMES
bd381b17aa55   jenkins/jenkins   "/usr/bin/tini -- /u…"   2 days ago     Exited (143) 7 seconds ago                                       zen_murdock

# jenkins 컨테이너 시작
❯ docker start bd3
bd3

#  사용중인 컨테이너 리스트 확인
❯ docker ps -a
CONTAINER ID   IMAGE             COMMAND                  CREATED        STATUS                     PORTS                                              NAMES
bd381b17aa55   jenkins/jenkins   "/usr/bin/tini -- /u…"   2 days ago     Up 3 seconds               0.0.0.0:8080->8080/tcp, 0.0.0.0:50000->50000/tcp   zen_murdock

# running 이라 삭제가 안됨
❯ docker rm bd3
Error response from daemon: You cannot remove a running container \\
bd381b17aa55f6a2f3e394a226e3c6ac489c2cd75233487d15452f751482c0d9. \\
Stop the container before attempting removal or force remove

# bd3 강제 삭제
❯ docker rm -f bd3
bd3

# 결과
❯ docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED        STATUS                     PORTS                               NAMES

container와 local file system 간에 파일/폴더 복사 (cp)

$ docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
ex) 로컬 파일을 컨테이너에 복사
docker cp ./some_file CONTAINER:/work

ex) 컨테이너에서 로컬 경로로 파일 복사
docker cp CONTAINER:/var/logs/ /tmp/app_logs
반응형

'도커' 카테고리의 다른 글

Docker 명령어(volume)  (0) 2022.06.20
Docker - volume  (0) 2022.06.19
Docker - 레이어(layer)  (0) 2022.06.19
Docker - Dockerfile  (0) 2022.06.19
Docker - Container, Image  (0) 2022.06.19

댓글