독립된 환경에서 구축된 컨테이너들을 어떻게 연동할것인가? 한 컨테이너에 모든 프로그램을 넣어 작업하면 손쉽게 할 수 있지만, 이건 도커를 쓰는 이유가 없어진다고 생각한다. 즉, 도커 컨테이너를 사용하여 컨테이너끼리 요청을 주고 받을 수 있는 연동이 필요하다. 그 연동을 위해 사용되는 것이 network 명령어이다. network ... 인터넷이 제일 처음 생각나는데, 단어의 뜻 '관계'를 고려하면 보다 잘 이해할 수 있다고 생각한다. 즉, 컨테이너 간의 관계를 설정하여 서로 요청/데이터를 주고 받는것이다. 여기서는 워드프레스 와 Mysql 간 연동을 예제로 해볼것이다. 네트워크 생성 > 컨테이너 생성 > 연결 순으로 진행하겠다. 1. 네트워크 생성 도커에서 네트워크 생성도 엄청 간단하다. docker n..
도커에서는 이미지와 컨테이너를 구분하는게 가장 중요하다고 생각된다. 역할/관계를 프로그래밍 언어 속에서 비교해 보자면.. 이미지는 Class / 컨테이너는 Object(객체) 라 생각된다. 즉, 지금까지 이미지(Class)로 컨테이너(Object)를 찍어낸 것이다. 그럼, 이제 쓸모없는 이미지를 삭제해보자. 이미지를 삭제하는 것도 컨테이너를 삭제하는 것과 별 다른 차이가 없다. 현재 다운로드 되어 있는 이미지를 살펴보면 위와같이 nginx / httpd / hello-word 가 존재하는 것을 볼 수 있다. 여기서 hello-world 이미지를 지워보고자 한다. 간단하다. docker image rm hello-world 를 통해 간단히 진행 할 수 있다. 컨테이너와 차이점을 생각해 본다면.. 1. 중지..
컨테이너 통신이란건... 컨테이너를 만들고 해당 컨테이너에 접근하는 것을 의미한다. 대표적인 예시로 php,아파치 등 초기 설정 후 로컬 환경에서 http://localhost:8080을 쳐보면 초기 웹사이트를 볼 수 있다. 로컬에서 하듯 컨테이너에 php, 아파치이미지 등을 pull하고 웹에서 접근하여 초기 웹사이트를 볼 수 있도록 한번 해보자. 목표) http://localhost:8080에 접속하여 아파치 초기 화면을 보고자 한다. 1. 아파치 컨테이너 가져오기 앞서 했던 것처럼 docker run -d -p 8080:80 httpd 를 통해 진행해보겠다(--name 옵션은 제외하였다) 이전 아파치 이미지를 불러온 것 처럼 똑같이 실행해봤는데 아까와 좀 다른 모습을 볼 수 있다. 처음 아파치 이미지..
docker run / docker container run 일반적으로 docker run / docker container run 커맨드를 사용하는데, 이 커맨드는 docker pull + docker create + docker start 를 합쳐놓은 것이다. 즉, 이미지 내려받기 + 컨테이너 생성 + 컨데이너 실행 기능을 한번에 수행한다. run = pull + create + start docker run {옵션} / --name(이름) -p(포트번호) -v(볼륨 마운트) --net(네트워크) 즉, 대게 docker run {옵션} 이미지 {인자}의 형태로 사용한다. 1. 컨테이너 생성 여기서는 아파치 컨테이너를 생성해보자. 이처럼 run 명령어를 통해 이미지 pull / 컨테이너 생성 / 컨테이..
https://docs.docker.com/desktop/install/ubuntu/ Install Docker Desktop on Ubuntu docs.docker.com 공식 홈페이지를 참조하여 도커를 설치해보겠다. 일단 도커 데스트탑을 설치한 이력이 없으니.. 1. 도커 엔진을 먼저 설정해야 하므로 'Docker's pakage repository'에 먼저 들어가보자. 하는 방법이 순서대로 나와있기에, 복붙을 해서 설정해주자! 도커 엔진도 나와있는대로 설치해주자. 그리고 난 후 DEB package 를 눌러 .deb파일을 다운로드 받아준다. 밑에 있는 명령어를 통해 설치를 해준다. 설치가 끝나고 우분투 GUI 오른쪽 하단 '프로그램 표시'에 들어가면 이러한 도커 아이콘이 생긴걸 확인 할 수 있다....
개발자가 되기위해 공부/ 강의 /교육을 받다보면.. 꼭 듣는 2가지 기술이 있다. 1. Git 2. Docker (+추가)3. 쿠버네티스) 이 두가지 기술을 이용해야 협업으로 개발할 때 아주 편하게 할 수 있다고 한다. 공부하는 입장에서는 혼자 하는 경우가 많아서 왜 이 두가지가 꼭 필요한지 감이 잡히지 않았다. 실질적으로 피부로 느낀 바로는... 1. Git을 사용하지 않으면.. 여러명의 개발자가 동시에 기본 소스코드(C)에 A/B 기능을 추가하는 작업을 진행하면,, C-A / C-B 기능이 추가된 2가지 코드가 나올 것이고... 이걸 하나의 C-AB 를 만들어야 하는데.. 그러면 다시한번 개발자가 복붙을 통해 작업을 해야 한다.. 이러다 보면.. 예상치 못하게 오류가 분명 생긴다... 하지만, Git..
다수의 개발자들이 동일한 소스코드를 공유하고 다루게 되는 상황이 발생하는데, 같은 코드에서 버그수정/ 기능추가 등등... 각자 맡은 업무을 수행하게 된다. 그러다 보면 동일한 소스 기반으로 여러 버전의 소스코드가 만들어 질 수 밖에없다. 이런식으로 A코드를 이용하여 3명의 다른 개발자가 3개의 서로 다른 코드를 만들어내게 된다. 그럼, 서로다른 독립적인 작업 영역에서 진행을 해야 진행하는데 충돌이 나지 않을 것이다.( 작업 영역이 같다면.. 동시에 A,B개발자가 같은 소스코드로 작업중인데, A 개발자가 수정 후 저장하고, B 개발자가 수정 후 저장한다면.. A개발자의 작업은 다 날라가게됨) 이런 환경을 만들어 주는것이 branch이다. 분리된 작업 영역에서 작업을 한 후 나중에 한번에 합치게 된다. 그럼..
이제 개발자가 무조건 사용해야 하는 github 원격 저장소에 인덱스에 등록된 파일들을 올려보겠다. push를 하게 되면, commit했던 상태의 로컬 저장소와 github 원격 저장소의 상태가 동일하게 된다. 그러기 위해선.. github에서 저장소를 하나 만들어야 한다. github에 로그인 한 후 Your repositories에 들어간다. 여기서 오른쪽 위 초록색으로 표시된 new를 통해 새로운 레파지토리(저장소)를 생성해보자. 레파지토리 이름만 지정한 후 맨 밑 Create repository로 생성하자. 그럼 이러한 화면이 나오는데, 어떻게 해당 레파지토리에 push를 할 수 있는지 알려준다. 여기서 이미 git commit까지는 한 상태이니 그 이후부터 진행해보자.. 그런데 github가 아..
- Total
- Today
- Yesterday
- CNN
- Tree
- java
- yolov11
- 딥러닝
- python
- github
- docker
- GNN
- YOLO
- YOLOv8
- 디텍션
- 정리
- DeepLearning
- 오류
- 자바
- V11
- 도커
- 초보자
- GIT
- 백준
- 깃
- c3k2
- 이미지
- 어탠션
- 뜯어보기
- 알고리즘
- 욜로
- 티스토리챌린지
- 오블완
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |