42Seoul/Docker

    8. docker 가이드 파해치기 [Get started] part 6

    part 6) Use bind mounts 이녀석이 신기한 기능을 한다 바인드를 하여 지금 로컬 파일들과 컨테이너의 파일을 공유할수 있게 된다 docker run -it --mount type=bind,src="$(pwd)",target=/src ubuntu bash 이거의 명령어를 잘라서 보면 (자세한건 다음에) - it : input terminal 일거다 즉 터미널 안에 들어가 인풋을 할수 있는 환경을 만드는거다 --mount : 뭔가 설정해준다 type=bind : bind(공유) 한다 src="위치" : 로컬의 공유위치를 설정해준다 target="위치" : 컨테이너의 폴더 위치를 설정해준다 ubuntu bash : 우문투 bash 로 실행 이런식이다 저거 실행하면 아 컨테이너 안이구나 하고 알것..

    7. docker 가이드 파해치기 [Get started] part 5

    part 5) docker run -d 컨테이너 안에 데이터를 실행해보기 예시문의 우문투를 만들어보자 랜덤한 숫자를 만들어 data.txt에 넣어주는 명령어이다 docker run -d ubuntu bash -c "shuf -i 1-10000 -n 1 -o /data.txt && tail -f /dev/null" 만들어 졋을것이다 docker exec cat /data.txt 이제 실행한 결과를 보면 6547 이 만들어 진걸 볼 수 있다. 이제 컨테이너를 rm 명령어로 지워버리자 docker rm -f - 이번엔 db를 만들어 보는거 같다 docker volume create todo-db 이전에 우린 유저이름으로 우리 도커 컨테이너를 올렷으니 그걸 가져와 써보자 docker run -dp 3000:30..

    6 docker 가이드 파해치기 [Get started] part 4

    part 4) Share the application 깃처럼 도커를 공유하자~ 이렇게도 올릴수 있다 하지만 이름을 정하여 좀더 누가 만든것인지 알기위해 이런식으로 tag를 만들어 수정하여 올리는것을 추천하는거 같다 docker tag getting-started 이름/getting-started 나는 이름을 kyoulee로 해서 앞에 저렇게 생김 일단 나는 밑에 에러가 뜨는거는 로그인을 안해서 그렇다 로그인 하기 docker login 명령어를 처서 로그인하여 push를 하자 이런식으로 내 컨테이너를 만들어 편하게 저장하여 쓸 수 있다 https://docs.docker.com/get-started/04_sharing_app/ Share the application docs.docker.com

    5. docker 가이드 파해치기 [Get started] part 3

    part 3) Update the application src/static/js/app.js 을 수정하라 한다 화면에 문구를 바꾸려고 하는것일거다 빌드와 실행을 해보자 docker build -t getting-started . docker run -dp 3000:3000 getting-started 하지만 안된다는 것을 볼 수 있다 이유는 이미 3000포트를 쓰고 있기때문에 그 컨테이너를 닫아주어야 한다\ 이런식으로 닫아줄수 있다 -a 은 현재 모든것들을 보는것이다 이거 는 다들 아이디가 다르기 떄문에 확이하여 수정해야되니 참고하면서 수정바람 이제 문구가 바뀌였다 https://docs.docker.com/get-started/03_updating_app/ Update the application do..

    4. docker 가이드 파해치기 [Get started] part 2

    Part 2) Containerize an application 이미 예시로 만들어둔 파일들을 실행하여 익숙해지자 vscode 에서 예시 코드를 받아보자 github git clone https://github.com/docker/getting-started.git 이제 맥을 사자 - dockerfile 만들기 받은 폴더에 app 이라는 폴더가 있다 그안에 들어가 dockerfile 을 만들어 줄거다 명령어 cd app 도커파일 만들어주기 dockerfile # syntax=docker/dockerfile:1 FROM node:18-alpine WORKDIR /app COPY . . RUN yarn install --production CMD ["node", "src/index.js"] EXPOSE 30..

    3. docker 가이드 파해치기 [Get started] part 1

    Part 1) overview - 설명 페이지 - 전 단계에 설명한 것들이 써져있다 - 스킵~

    2. docker 가이드 파해치기 [Get Docker]

    도커 설치다 언제나 개발자 답게 mac 이나 linux를 사용하자 (자신의 컴퓨터가 윈도우 개발자로서 준비가 되지않았다) 나는 mac book m1(apple silicon)이니 그거에 관한 설치를 하겟다 애플은 조금 특이한 환경을 가지고 있다 가상환경을 맥 자체에서 관리하는 것이다 그러기 때문에 조금 내생각과 다른 결과가 나올수 있음을 알아두자 1. rostta 일단 애플에서 인텔일때 사용할수 있는 앱들을 돌리게 해주는 rosetta라는여석을 깔아주어야 한다. 아직까진 docker에 컨테이너 환경을 만들어주는 애가 인텔칩 버전밖에 없는거같다. (몇년 후에는 필없을듯?) 명령어 softwareupdate --install-rosetta - docker. dmg 다운 가끔 뭔가 에러나 뭐 나오는데 무시하고..

    1. docker 가이드 파해치기 [Docker overview]

    - 지금은 아 대충 이런거구나 하고 보면된다 1. 도커 도커는 가벼운 환경으로 여러가지 엡을 실행할 수 있는 환경을 만들어준다. 그걸 컨테이너라고 부르기로 하였고 자세하게는 격리된 환경(os)에서 app들을 실행할 수 있는 여석이다 2. 하이퍼바이져? (https://aws.amazon.com/ko/what-is/hypervisor) 와 컨테이너의 차이 하이퍼바이져는 (vm)같은 가상환경을 만드는것을 말하는거 같다. 컨테이너는 LXC(Linux Container) 라는 여석부터 발전해온거 같은 느낌인데 환경을 따로 깔아서 하는 하이퍼바이져보다 귀찮지 않다는 장점이 크다! 3. 도커 실행방식 밑에 이미지처럼 docker라는 명령어로 컨테이너를 관리하며 이미지(app)를 따로따로 돌릴수 있게끔 만들어준다 -..