Docker

seongyong·2021년 5월 7일
0

데이터 엔지니어링

목록 보기
2/11

학습내용

CLI(command line interface)

명령어를 통해 컴퓨터와 상호작용하는 것.

  • GUI쓰면 되는거 아니야?

Git의 모든 기능을 사용할 수 있는 것과 같이 개발에 있어서는 많은 기능들이 CLI 기반으로 동작한다.

리눅스 기본 명령어

ls : 디렉토리 확인

touch 1.txt : 텍스트파일 만들기

ls -l : ls에 옵션주기
- 파일
d 디렉토리
사용자권한, 그룹권한, user가 아닌 다른사람들의 권한

pwd : 현재위치

mkdir : 디렉토리 만들기

cd : 디렉토리 이동

cd ../ : 상위 디렉토리로 이동

./ : 현재위치

cd /root : root로 이동

rm : 파일삭제, 디렉토리는 삭제불가

rm -r : 디렉토리 지우기

rm -rf : 다 지워버리기 (깃 지울때 많이 사용)

IP와 DNS, port 이해하기

  1. 웹에 접근하기 위해서는 웹을 제공하는 서버에서 받아와야함
  2. 웹 서버가 있는 위치를 찾기 위한 것이 IP
  3. DNS는 이 IP를 클라이언트에 전달해주는 역할을 함
  4. IP를 통해 웹서버가 있는 컴퓨터에 접근하게 되고
  5. port를 통해 그 컴퓨터에서 어떤 서버 프로그램을 사용할지 구분짓게 됨

Docker

리눅스 컨테이너 기반
리눅스 컨테이너 : 필요한 라이브러리와 어플리케이션을 모아서 마치 별도의 서버처럼 구성한 것

docker 사용이유
1. 남들이 만들어놓은거 사용하려고
2. 배포하려는 목적


docker image : 컨테이너 실행에 필요한 파일과 설정값 등을 포함하고 있는 것.
docker container : image를 실행한 것.


docker CLI

docker image pull docker/whalesay:latest : docker/whalesay:latest라는 이미지를 다운로드

docker images : 이미지확인

docker container run [OPTION] IMAGE [COMMAND] [ARG..] : image 실행
-------------------
[OPTION]
--name : container 이름 지정
-p : port번호
-it : 실행 후 무언가를 입력해야하는 경우
--rm : 일회성으로 실행
-------------------
docker container ps -a : 모든 container 확인 / -a없으면 실행중인 container만

docker container stop
docker container restart

docker image rm [IMAGE] : 이미지 삭제
docker container rm [CONTAINER] :container 삭제

docker exec -it {컨테이너 이름} /bin/bash : 컨테이너 접속

winpty docker run --rm -it aibcontents/n312_part2:1.0 ls : 이미지 디렉토리 확인

env : 환경변수 확인

docker container run --name my_web --rm -p 818:80 httpd : httpd image를 통해 서버생성

docker container cp ./ my_web:/usr/local/apache2/htdocs/ : 앞의 경로파일들을 뒤의 경로에 복사해줌

docker container commit my_web my_pacman:1.0 : 지정한 container를 새로운 image로 저장

Dockerfile

dockerfile은 이미지를 위한 설명서
dockerfile을 빌드하면 이미지가 된다.

ex. pacman 이미지를 생성

FROM httpd:2.4 # 베이스 이미지를 httpd:2.4 로  사용
COPY ./ /usr/local/apache2/htdocs/ # 호스트의 현재경로에 있는 파일을 생성할 이미지 /usr/local/apache2/htdocs/ 에 복사

  • Dockfile을 바탕으로한 도커 이미지 파일 생성
# --tag 는 name:tag 형식으로 이미지를 생성
# 지정한 경로에 있는 Dockerfile 을 찾아서 빌드
$ docker build --tag my_pacman:2.0 .
  • 생성된 이미지를 통해 포트에 웹서버 구동
$ docker run --name my_web3 -p 901:80 my_pacman:2.0

0개의 댓글