Docker 반가상화 기술..
개발환경 셋팅을 편리하게 도와준다.
리눅스의 컨테이너 기술을 활용한다.
논리적으로는 가상화처럼
물리적으로는 거의 Real Machine (VM이 아닌)이다. -- 그냥 기존의 자원을 활용해서 쓰는 정도이다.
도커 설치
sudo wget -qO- https://get.docker.com/ | sh
현 사용자를 도커 그룹으로 편성
sudo usermod -aG docker [사용자ID]
docker version
-입력시 permission denied 뜨면.. 재로그인
자신이 선호하는 패키지 관리자가 설치된 이미를 가져오자
docker images
docker도 git과 마찬가지로 push pull이 있다.
docker와 dock-hub가 있음.
docker pull ubuntu:14.04
docker images
docker search ubuntu | less
이미지: 실행파일 + 라이브러리
컨테이너 : 이미지를 실행한 상태 (프로세스)
우분투 컨테이너 생성하는 동시에 시작하자
docker run -i -t ubuntu:14.04 /bin/bash
위 명령어로 들어오면 자신의 리눅스가 아니라
docker로 인한 환경 안으로 들어온 것이다.
i 는. . 사용자가 입출력 intercative
t 는 sudo dty 가상 환경을 에뮬해주겟다.
ps ax
-- 프로세스확인
git설치
apt-get install git
apt-get install update
git설치하면 요 컨테이너 안에서만 사용할 수 있다.
docker도 ps 명령이 있다.
docker ps
docker ps -a
--를 하면... 이력도 보여준다.
다시 실행
docker start zen_clarke
우리가 도커를 띄울 때 이름을 지정하지 않았기 때문에 랜덤한 이름이 지정되어서 나오나다.
혹은.. 이름대신에 컨테이너 ID를 사용해도 된다.
명령어 입력후 이름이 표시된 것을 보면.. docker를 실행한 것이다.
그러나 아직 도커 안으로는 안 들어간 것임.
run 실행 동시에 들어감
start 실행만
docker attach zen_clarke
엔터 두번
ctrl+p, ctrl+q 로.. 빠져나올 수 있다. (도커가 중지되는 건 아니다.)
도커가 아닌 셸, bash의 단축키
docker stop zen_clarke - 도커 종료
docker rm zen_clarke - 도커 컨테이너 제거 (docker ps -a 로 확인 가능)
docker rmi hello-world - image 제거
docker의 이미지 하나로 여러개의 컨테이너 실행 가능함
컨테이너에 무언가를 설치했다고 해서 그 컨테이너의 이미지가 변경되지는 않는다.
하지만 해당 컨테이너를 기반으로 새로운 이미지를 만들 수 있다.
docker pull nginx:latest (최신버전, nginx가 설치된 이미지를 받아와서 컨테이너에서 실행 )
아까 설치된 ubuntu와는 다르게.. nginx 전용으로 가져온 것...
이곳에 ubuntu를 설치하거나 하려면.. 까다롭다.
차라리 ubuntu 위에서 nginx를 설치하는 게 더 나을 수도 있다.
docker run -d --name hello-nginx nginx:latest
만일.. 누군가가 80번 포트를 사용한다면
docker run -d --name hello-nginx -p 8000:80 nginx:latest (호스트:컨테이너포트 - 로 연결하겠다.)
외부에서 내컴 포트 8000으로 접속했을떄 포트 80으로 포트포워딩하겠다.
docker run -i -t --name hello ubuntu:14.04 /bin/bash
docker exec hello echo 1
도커 컨테이너로 출력한 것
docker exec hello touch /hello.txt
docs.docker.com/ci-cd/best-practices/
'Infra, DevOps > Kubernetes, Docker' 카테고리의 다른 글
[k8s] 쿠버로 무중단 배포 3종 모두 해보자 (argo없는 Blue Green) (0) | 2024.01.30 |
---|---|
[배포 기록] 도커 역사 및 빠른 재정리 (feat. 삽질 ..) (0) | 2024.01.20 |
따끈따끈 쿠버네티스 기초 개념 요약 (0) | 2024.01.17 |
윈도우에서 쿠버네티스 긴급 사용 후기 (2) | 2024.01.16 |
순전히 GPT의 도움으로 Docker기반 MySQL 셋업하기 (0) | 2023.07.08 |
hi hello... World >< 가장 아름다운 하나의 해답이 존재한다
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!