Docker [Docker기초] 명령어 리스트

황제낙엽 2020.07.11 10:01 조회 수 : 200

sitelink1 https://blog.naver.com/pjt3591oo/221350092204 
sitelink2  
sitelink3  
extra_vars6  

$ docker pull - 이미지를 받아온다

- syntax : $ docker pull 이미지:태그

pull은 이미지를 받아올 때 사용한다(git에서 pull과 같다)

태그는 버전을 의미한다, 태그는 생략가능하며 생략할 경우 latest가 기본값이 된다

 

<컨테이너 다운로드 예제>

$ docker pull centos

 

$ docker images - 

$ docker run - 컨테이너 생성 및 실행

- syntax : $ docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG...]

- ex> docker run 이미지:태그

run 옵션을 이용하면 이미지를 통해 컨테이너 생성이 가능

태그는 버전을 의미하며 생략시 latest가 기본값이다

run에 대한 자세한 옵션은 "$ docker run --help" 명령어로 살펴볼 수 있다

 

<주요 옵션 목록>

-i -t 해당 컨테이너에 접속해서 명령어를 사용해야 된다면 옵션을 주어야 한다 

‑d detached mode 흔히 말하는 백그라운드 모드

‑p 호스트와 컨테이너의 포트를 연결 (포워딩)

‑v 호스트와 컨테이너의 디렉토리를 연결 (마운트하여 저장소를 공유)

‑e 컨테이너 내에서 사용할 환경변수 설정

‑‑name 컨테이너 이름 설정

‑‑rm 프로세스 종료시 컨테이너 자동 제거

‑it ‑i와 ‑t를 동시에 사용한 것으로 해당 컨테이너에 접속해서 터미널 입력 명령어 사용을 위한 옵션

‑‑network 네트워크 연결

 

<컨테이너 실행 예제>

$ docker run -i -t --name test.container ubuntu:latest /bin/bash

  > ubuntu:latest를 이용하여 컨테이너를 생성하는것을 의미

  > 컨테이너가 생성되면 /bin/bash를 실행하여 컨테이너의 bash쉘로 진입

  > --name에서 test.container를 주었기 때문에 test.container 이름으로 생성

 

$ docker run -i -t --name test.container -p 3000:3000 -e TEST_ENV=10 -v /Users/bagjeongtae/Desktop/docker_test/:/home ubuntu:latest /bin/bash

  > -e는 환경변수를 설정하는 옵션

  > -v는 호스트 계정의 File OR Directory를 공유하는 옵션

  > -p는 포트포워딩을 의미합니다. 호스트로 들어온 포트를 컨테이너가 몇번 포트로 받을지를 설정

  > run을 이용하여 컨테이너를 생성할 때 해당 이미지가 없더라고 에러가 발생하지 않고 이미지를 pull한 후 컨테이너를 생성

 

 

$ docker ps 

run을 이용하여 컨테이너를 생성 후 ps -a 옵션을 통해서 생성된 모든 컨테이너를 볼 수 있다

예> $ docker ps -a

 

 

$ docker start 

start는 단순히 컨테이너 상태를 up으로 만들어서 실행하는 것을 의미 (아직 해당 컨테이너한 것이 아님)

 

 

$ docker restart 

컨테이너를 다시 시작

 

 

$ docker stop 

stop은 컨테이너 상태를 exited로 만듬

 

 

$ docker rm - 이미지를 지울 때 사용

 

 

$ docker attach 

attach를 이용하면 해당 컨테이너에(started) 접속한다

예> $ docker attach test.container

 

 

$ docker exec 

exec를 이용하면 원하는 해당 컨테이너의(started) 프로그램을 실행할 수 있다 

하지만 /bin/bash 같은 경우는 명령어를 주고받아야 하기 때문에 -i -t 옵션을 줘야 정상적으로 실행가능

예> $ docker exec -t -i test.container /bin/bash

 

 

 

 

※ attach와 exec 차이점

attach는 하나의 세션만 생성 가능하다

즉, 다수가 한 컨테이너를 attach로 접속하면 하나의 명령어만 실행된다

쉽게 설명하면 터미널을 2개를 띄우고 2개의 터미널에서 attach를 이용하여 컨테이너를 접속했다고 가정해본다

첫번째 터미널에서 cd /var을 하게되면 두번째 터미널도 /var로 이동된다

exec는 /bin/bash를 실행한 후 attach 처럼 접속을 하더라도 모든 세션이 독립적으로 동작하게 된다

exec는 동작중인 컨테이너(STATUS가 UP 상태를 의미)에서 프로세스(프로그램)의 실행 명령어이다

 

 

 

 

 

 

 

번호 제목 sitelink1 글쓴이 날짜 조회 수
20 [bard] docker로 실행한 container에 터미널로 접속   황제낙엽 2024.02.01 0
19 [2023. 11. 6.] 데이터베이스, GUI 클라이언트 환경의 Docker Compose 모음 https://blog.pages.kr/2819  황제낙엽 2024.01.29 6
18 Docker Compose 문법 정리   황제낙엽 2024.01.29 4
17 Docker Compose 명령어(실행,중지,삭제) https://docs.docker.com/compose/reference/  황제낙엽 2024.01.28 0
16 Docker Compose 에 대한 이해와 사용법에 대한 포스팅 모음 https://docs.docker.com/compose/gettingstarted/  황제낙엽 2024.01.26 1
15 Kubernetes 와 Docker 의 관계   황제낙엽 2024.01.26 0
14 docker 를 windows 에서 실행하는 방법 3가지 정리   황제낙엽 2024.01.23 3
13 windows + docker 설치에 대한 포스팅 모음   황제낙엽 2024.01.22 2
12 도커(Docker)란 무엇이고, 왜 사용하나요? https://blog.naver.com/wishket/222372539613  황제낙엽 2021.07.03 14
11 [Raspberry pi 3] docker-compose.yml 파일을 활용해 docker container 관리 효율성 높이기 file https://cafe.naver.com/stsmarthome/16737  황제낙엽 2020.08.26 54
10 [Docker] docker private registry on raspberry pi (https private registry, letsencrypt standalone auth) secret https://bloodguy.tistory.com/entry/Docke...spberry-pi  황제낙엽 2020.07.17 0
9 [Docker] private registry 설치/운용, OpenSSL, S3 저장소 이용, Authentification 추가 secret https://novemberde.github.io/2017/04/09/...try_0.html  황제낙엽 2020.07.17 0
8 [Docker] 도커 레지스트리: 프라이빗 도커 이미지 저장소(설치부터 S3 연동까지) secret https://www.44bits.io/ko/post/running-do...s3-storage  황제낙엽 2020.07.17 0
7 [Docker] docker private registry(도커 사설 레지스트리)에 대하여 https://www.44bits.io/ko/post/running-do...s3-storage  황제낙엽 2020.07.17 19
6 [Docker] Portainer for local Docker environments on Windows 10 file https://lemariva.com/blog/2018/05/tutori...windows-10  황제낙엽 2020.07.14 25686
5 Virtualbox : VT-x is not available 오류 조치 방법 file http://blog.naver.com/PostView.nhn?blogI...1315290857  황제낙엽 2020.07.14 13
4 Ubuntu+Docker+Node.js (Hello World) file   황제낙엽 2020.07.12 90
» [Docker기초] 명령어 리스트 https://blog.naver.com/pjt3591oo/221350092204  황제낙엽 2020.07.11 200
2 cURL, Docker, Portainer 설치 file https://docs.docker.com  황제낙엽 2020.07.11 16
1 [Docker] Docker, Portainer 입문용 블로그 링크 http://blog.naver.com/kidninja  황제낙엽 2020.07.07 17