목록Backend/Docker (14)
개발 무지렁이
docker exec -it [container_name] bash 컨테이너 내부에 진입 🪛. 현재 배포판 알아내기: cat /etc/issue => Debian GNU/Linux 12 \n \l (데비안 계열은 yum이 아닌 apt-get을 사용) 🌝. 간단한 명령어(컨테이너 내부 명령 ex): docker exec [container_name] ls 🌚. 상호작용 명령어(컨테이너 내부 명령 ex): docker exec -it [container_name] sudo yum install mariadb cd /usr/share/nginx/html (내부 진입된 상태) ⭐.apt-get update ⭐.apt-get install vim -y vim index.html Hello World! 💡. htt..
❓. nginx란 : WAS(Servlet Container)를 도와주는 '경량 웹서버'이다. server의 제일 앞단에 쓰며, DispatcherServlet 역할을 한다. nginx를 쓰게 되면 어떤 도메인으로 접근했는지 감지할 수 있고, 포워딩이 빠르다. docker run -d -p 8031:80 --name nginx_1 --rm nginx 🚀. 옵션 -d (detach): 백그라운드 모드로 실행 -p (port): 바깥쪽 8031 포트로 들어오면 안쪽 80 포트로 연결 (이 옵션을 써주지 않으면 외부에서 접근할 방법이 없다.) (도커 컨테이너는 독립적인 공간에서 실행되기 때문에 접근이 안되는게 정상이다.) --name: 이름 설정 --rm: docker kill 되었을 때 흔적이 남지 않는다...
호스트 OS에 도커를 설치했을 때 도커를 설치하면, 랜카드가 생성되고, 172.17.0.1(IP)라는 IP로 각 컨테이너에서 호스트 OS에 접근하는 것은 가능하다. 즉, 각 컨테이너끼리는 통신이 되지 않지만, 부모를 경유해서 접근가능하다. ⭐. 컨테이너 하나하나가 운영체제이다. 호스트 OS안에 VB안에 CentOS안에 도커를 설치했을 때 호스트 OS와 CentOS간에는 호스트 전용 어댑터를 통해 통신하고, 도커 안의 컨테이너(OS)와 CentOS간에는 생성된 랜카드의 IP를 통해 통신한다. 호스트 OS가 무엇이든 간에 도커 안쪽은 영향받지 않는다.
🐋. 이미지(프로그램) 다운: docker pull 조회: docker images 삭제: docker rmi 🐋. 컨테이너(프로세스) 실행중 조회: docker ps 실행중 + 실행됐었던 조회: docker ps -a 삭제: docker rm 중지: docker kill ❗. 컨테이너 하나하나가 '독립적인 환경(os(?))'이며, 프로세스와 같은 맥락의 개념이기 때문에 다운로드 개념이 없다. ❗. 컨테이너는 '단발성'과 데몬(Background-process)과 같이 '영속성'이 있다. 따라서, 단발성은 docker ps에는 뜨지 않는다. 🪛. 컨테이너ID와 컨테이너 이름은 고유하다. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a772bb87a6ab..
𐂂 '도커(Docker)'란 무엇일까? '컨테이너'를 생성하고 관리하기 위한 '도구'다. ❓ 컨테이너란 무엇일까 애플리케이션 코드와 해당 코드를 실행하는데 필요한 종속성과 도구가 포함된 '표준화된 소프트웨어 유닛(small package)'이다. 🎯 목적: 동일한 코드와 동일한 종속성 및 도구가 있는 동일한 컨테이너는 동일한 버전을 사용하는 동일한 런타임에 항상 동일한 동작과 결과를 제공한다는 이점이 있다. 즉, 동일한 환경에서 동일한 애플리케이션을 실행할 수 있다. ⚠️ 컨테이너는 'stand alone(독립적)'으로 작동한다. ⚠️ 여기서 도커(Docker)는 컨테이너를 구축(생성하고 관리)하기 위한 도구일뿐이다. ➼ 똑같은 개발환경을 갖는 것은 상당한 가치가 있다. 로컬 환경, 개발 환경에만 애플리..