분류 전체보기(581)
-
[Docker] Compose
0. Compose? 사랑합니다. 이고잉님 솔직히 docker run 명령어를 사용할 때마다 너무 복잡하다고 느낀다. 혹시 옵션이 하나라도 누락되었을까 걱정되기도 한다. 또 도커를 모르는 친구들과 협업할 때 저 docker run 명령어의 옵션을 하나하나 설명하는 것은 ... 좀 그렇다. compose가 이런 걱정을 덜어줄 수 있다. 1. Compose! 이런 상황을 가정하자 docker-compose.md GitHub Gist: instantly share code, notes, and snippets. gist.github.com 가. 명령어만 사용하기! 만약 정직하게 명령어를 입력한다면… docker network create wordpress_net docker \ run \ --name "db"..
2023.02.27 -
[Docker] 가상화된 Docker host에 접근하기
이전에 다룬 nsenter에 관한 부분을 링크한다! 중요한 부분이라 따로 표시해 둔다. [Docker] 포트포워딩 1. 포트포워딩! 예시로서 웹서버를 컨테이너에 설치했다고 가정해 보자. 이 컨테이너가 설치된 운영체제를 우리는 docker host라고 한다. 하나의 도커 호스트에는 다수의 컨테이너가 있을 수 있다. ramen4598.tistory.com
2023.02.27 -
[Docker] 이미지 배포
1. 이미지 배포 github의 동작방식을 참고해 이해하면 편하다. Local에서 image를 생성한다. 생성한 image를 Dockerhub과 같은 Container Registry에 Push한다. Docker가 설치된 곳에서 image를 Pull해 Container에 담아서 실행한다. 가. Dockerhub Dockerhub에서 Repository를 생성한다. Repo 옆에 보면 해당 repo로 push할 때 사용할 명령어를 복사할 수 있다. docker push 이미지이름:tagname 나. 이미지 이름 맞추기 push하려면 local의 이미지 이름과 repo의 이미지 이름이 같아야 한다. docker tag tag 명령어로 이름을 바꿀 수 있다. (원본은 유지된다.) 다. 로그인 docker lo..
2023.02.27 -
[Docker] Commit & Dockerfile
1. Dockerfile이란? (Dockerfile은 사실 위에 영상 보면 뚝딱임) Dockerfile은 Docker 이미지를 생성하는 데 사용되는 파일입니다. Dockerfile을 사용하면 더 쉽게 Docker 이미지를 만들고 관리할 수 있다. 이미지를 만들 수 있다면 동일한 컨테이너를 무수히 많이 복제할 수 있게 된다. 원하는 컨테이너를 이미지로 만드는 방법은 간단하다. docker commit test01 test02 #test1 컨테이너를 가지고서 test2라는 이미지를 새로 생성한다. 출처 : https://youtu.be/RMNOQXs-f68 2. Dockerfile 작성 Dockerfile reference docs.docker.com 예를 들어서 대충 개발하는 Node.js 프로젝트가 있다..
2023.02.27 -
[Docker] mount
1. 호스트와 컨테이너의 파일시스템 연결 docker exec를 사용하는 것도 좋지만 그렇게 되면 몇 가지 문제가 생긴다. 컨테이너(container)에 쓰인 데이터는 기본적으로 컨테이너가 삭제될 때 함께 삭제된다. 컨테이너 변화와 관계없이 데이터는 변화하면 안 된다. 뿐만 아니라 여러 개의 Docker 컨테이너가 하나의 저장 공간을 공유해서 데이터를 읽거나 써야 할 때도 있다. 이러한 기대에 Docker는 두 가지 방법을 제시한다. Docker volume : 별도의 volume을 생성해서 container에 마운트하기. Bind mount : 기존의 파일이나 디렉터리를 container에 바로 마운트하기. 2. Docker volume 새로운 volume을 생성해..
2023.02.27 -
[Docker] 컨테이너 안에서 터미널 쓰기!
1. docker exec docker exec [OPTIONS] CONTAINER COMMAND [ARG...] 출처 : https://docs.docker.com/engine/reference/commandline/exec/ docker exec를 사용하면 특정한 컨테이너의 내부에서 명령어를 실행시킬 수 있다. #docker exec 컨테이너이름 명령어 docker exec 컨테이너이름 pwd docker exec 컨테이너이름 ls docker exec 컨테이너이름 cd 하지만 딱 보기에도 번거롭다. 명령어를 입력할 때마다 docker exec를 반복해서 입력해야 한다. docker exec -it 컨테이너이름 /bin/sh # interactive 옵션으로 shell을 실행시킨다! # 탈출은 exi..
2023.02.27 -
[Docker] 포트포워딩
1. 포트포워딩! 예시로서 웹서버를 컨테이너에 설치했다고 가정해 보자. 이 컨테이너가 설치된 운영체제를 우리는 docker host라고 한다. 하나의 도커 호스트에는 다수의 컨테이너가 있을 수 있다. 도커 호스트를 포함한 컨테이너들은 저마다 독립적인 실행환경을 갖는다. 독립적인 실행환경은 독립적인 파일 시스템과 포트(0~65535)를 갖는다. 일전에 아파치 웹서버를 라즈베리파이에 설치하고 포트포워딩을 한적 있다. 2022-07-10 웹서버(apache)_2 라우터 설정을 열어서 포트포워딩을 수행해 집에서 놀고 있는 라즈베리파이로 웹서버 돌리기. 죽은 라즈베리파이 살리기 사실 죽은 지 산지도 모른다. 부팅을 안 한 지 한참이나 되었다. 이전에 ramen4598.tistory.com 이것과 비슷하게 도커 호..
2023.02.27 -
[Docker] 시작하기
0. Docker? Docker는 컨테이너 기반의 오픈소스 가상화 플랫폼으로, 컨테이너를 사용하여 응용 프로그램을 더 쉽게 개발, 배포 및 실행할 수 있습니다. 도커 소프트웨어의 실행에 필요한 모든 것을 컨테이너라는 독립된 파일 시스템 안에 담는다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 모든 것이 담길 수 있다. 도커는 응용 프로그램과 그 의존성을 가상 컨테이너에 담을 수 있는 도구이며, 이 컨테이너는 도커만 설치되어 있다면 어디서든 구동 가능하다. 실행 환경을 일정하게 유지할 것을 보장한다. 출처 : https://ko.wikipedia.org/wiki/도커_(소프트웨어) 1. Why Docker? Docker Engine, 제대로 이해하기 (1) 📌 Docker..
2023.02.27