우리들이 지금까지 docker run [이미지명] 을 이용해 사용한 것은 도커 허브에 이미 올라간 이미지 파일들을 다운로드 받아 사용한 것이다. 즉, 도커 허브에 우리들의 이미지를 올리면, 누구든지 우리가 만든 이미지를 다운로드 받을 수 있다는 소리 > 누구나 똑같은 환경을 구축할 수 있다는 소리가 된다. 그럼 허브는 어떻게 구성될까?? 레지스트리 + 레파지토리 로 구성된다. 즉, 레지스트리 안에 여러개의 레파지토리로 구성하는 형태가 되는 것이다. 그럼 한번 도커 허브에 접속해보자. https://hub.docker.com/ Docker Hub Container Image Library | App Containerization Build and Ship any Application Anywhere Doc..
도커 허브에 push를 하려고 했더니 이러한 오류가 발생했다.. 이런 오류는 2가지 경우가 대표적이라고 한다. 1. 이미지 REPOSITORY명과 도커 허브의 레지스트리명(도커 허브 ID)이 안맞을 경우. 2. 도커허브에 로그인을 안했을 경우. 필자는 도커 허브에 로그인을 안해 발생하던 오류였다. 해결해보자. docker login 명령어를 치고, 도커 허브의 아이디와 패스워드를 쳐주면 성공했다는 메시지를 볼 수 있었다. 그 후 push를 해보자. 아주 잘 push 되는 것을 볼 수 있었다.
컨테이너 개조 방법에는 2가지가 존재한다고 한다. 1. 파일복사를 통한 개조 2. 리눅스 명령어를 통한 개조 이전 실습때 많이 사용했던 docker exec ~~ /bin/bash 가 컨테이너 안을 들여다보고 개조할 때 사용된다. 알게모르게 컨테이너 개조를 하고 있었던 것이였다..! docker exec -it [컨테이너명] /bin/bash 이처럼, 만들어 놓은 컨테이너에 접속하면.. 로컬에서 작업했던 것처럼 원하는 소프트웨어를 깔고 진행하면 된다. 즉, 하나의 독립적인 로컬 환경이 생성됐다고 봐도 무방하다..! 차이점은.. 로컬에서 작업한 결과를 다른 사람과 공유하려면... 소프트웨어 버전을 똑같이 맞춰야 하는 장애물이 있다. 하지만 우리 도커는 '이미지'라는 것을 만들어 공유하고자 하는 사람에게 주..
컨테이너를 다뤄봤으니, 다른 호스트에 같은 환경을 마추기 위한 작업으로 이미지를 만들어 볼것이다 지금까지는 공식적으로 배포해준 아파치(httpd)이미지를 대부분 예제로 사용했는데, 손쉽게 docker 명령어 몇줄로 아파치 환경을 구축할 수 있었던 것처럼, 이제 내가 만든 컨테이너를 이미지로 만들어 단 몇줄의 명령어로 손쉽게 환경을 구축할 수 있도록 한다. commit 명령어와 dockerfile을 통해 이미지를 만들 수 있는데 두가지 다 살펴보도록 하자. 이번에도 아파치(httpd)을 사용하겠지만, index.html를 수정한 후 이미지를 만들어 해당 이미지로 컨테이너를 만들면 초기 화면이 다르게 나오는 것을 보고자 한다. 이렇게 index.html를 변경하여 초기 화면이 다르게 나오는 것을 확인해보자...
볼륨 마운트에 대해 알아보고자 한다. 그전에 볼륨이란 무엇인가? 볼륨 - 스토리지 한 영역을 분할한 것 이라고 한다. 즉. 하드/SSD영역중 일부 덩어리라 생각하면 된다. 마운트 - '연결하다'의 의미를 가진 단어, 즉, 연결 대상을 운영체제/소프트웨어 관리하에 두는걸 말한다고 한다. 와닿지 않는데, USB를 생각하면 쉽다. USB를 USB포트에 꽂으면 USB는 컴퓨터에 마운트 되는거고, 마운트가 되어 USB안에 있는 데이터를 컴퓨터가 관리할 수 있는것이다. 도커에서는 컨테이너의 생애주기가 아주 짧아서, 데이터를 컨테이너 안에 넣어놓게 되면 문제가 발생할 수 있다.(빈번하게 컨테이너를 삭제하게 되는데 데이터를 넣어놓으면 같이 삭제됨) 그래서, 이런 점을 방지하기 위해 도커는 로컬 컴퓨터의 저장소 일부분을..
지금까지 이미지로 컨테이너를 바로 실행시켜 사용하고 있었는데, 문득 컨테이너에 접속하여 파일들이 무엇이 있는가 보고싶었다. 바로 해보자. docker exec -it [컨테이너명] /bin/bash 이런식으로 하면 된다고 한다.! 일단 테스트를 해보기 위해 아파치 컨테이너를 하나 생성해보자 이렇게 컨테이너 하나를 생성해주고 컨테이너 터미널에 접속해보자. 이처럼 해당 컨테이너에 들어와 지는 모습을 볼 수 있었다! 이렇게 들어와 커맨드 창에서 local에서 하듯이 작업을 이어나가면 된다!
호스트 > 도커 / 도커 > 호스트 간에 파일을 복사하는 방법을 알아보자! 리눅스 명령어를 아는 분은 다들 들어봤을.. cp를 사용하여 할 수 있다. docker cp 이동할파일 이동할 위치 로 사용할 수 있다. 만약, 이동할 파일에 로컬에 있는 파일을 옮기고 싶다면 로컬 파일위치 docker이름:폴더위치 정도로 하면 되고. host > 도커 docker cp local 파일위치 docker이름:이동할 폴더 위치 도커 > host docker cp docker이름:이동할 파일 위치 local 폴더위치 이렇게 사용하면 된다. 아파치로 한번 예시를 들어보겠다. 1. 아파치로 예시! 이와같이 아파치 컨테이너를 하나 생성하여 초기 화면을 볼 수 있다. 이 'It works!' html파일을 내가 만든 html ..
독립된 환경에서 구축된 컨테이너들을 어떻게 연동할것인가? 한 컨테이너에 모든 프로그램을 넣어 작업하면 손쉽게 할 수 있지만, 이건 도커를 쓰는 이유가 없어진다고 생각한다. 즉, 도커 컨테이너를 사용하여 컨테이너끼리 요청을 주고 받을 수 있는 연동이 필요하다. 그 연동을 위해 사용되는 것이 network 명령어이다. network ... 인터넷이 제일 처음 생각나는데, 단어의 뜻 '관계'를 고려하면 보다 잘 이해할 수 있다고 생각한다. 즉, 컨테이너 간의 관계를 설정하여 서로 요청/데이터를 주고 받는것이다. 여기서는 워드프레스 와 Mysql 간 연동을 예제로 해볼것이다. 네트워크 생성 > 컨테이너 생성 > 연결 순으로 진행하겠다. 1. 네트워크 생성 도커에서 네트워크 생성도 엄청 간단하다. docker n..
- Total
- Today
- Yesterday
- DeepLearning
- 정리
- 깃
- java
- YOLOv8
- 티스토리챌린지
- 알고리즘
- 초보자
- Tree
- 자바
- 욜로
- 뜯어보기
- 도커
- CNN
- c3k2
- yolov11
- 어탠션
- python
- 딥러닝
- github
- 이미지
- YOLO
- 디텍션
- 오블완
- 오류
- docker
- GIT
- V11
- 백준
- GNN
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |