컨테이너/docker: 15개의 글
위 이미지는 도커의 공식 로고입니다.컨테이너를 실은 화물선을 고래 캐릭터로 형상화해서 귀여운 이미지라는 생각이 듭니다. 자~ 이제! 본격적으로 시작하겠습니다. 도커란 무엇인가? Docker는 2013년에 세상에 첫 선을 보였습니다. Docker는 Go 언어로 개발된 오픈 소스 프로젝트입니다. Docker는 컨테이너 기반 오픈 소스 가상화 플랫폼입니다. Docker와 관련된 프로젝트는 도커 컴포즈(Docker Compose), 도커 머신(Docker Machine), 레지스트리(Private Registry) 등이 있습니다. 일반적으로 불리우는 Docker는 도커 엔진(Docker Engine)을 의미하고 있습니다. 도커 엔진(Docker Engine)은 컨테이너 생성 및 관리하는 주체로, 컨테이너를 제어..
개발할 때 DockerFile 만들고 매번 원격지에 올리고 실행하는게 너무 귀찮았는데 Intellij에 관련 기능이 있길래 조금 삽질하다가 사용 방법을 정리합니다. [ Docker 사용하기 ] 기본으로 설치된 Docker Plugin이 있으면 위와 같이 Run | Configuration 항목에서 접속할 도커 엔진 정보를 추가할 수 있습니다. 이 화면은 OS마다 메뉴 구성이 약간씩 다른데, Windows의 경우 로컬에서 Hyper-V를 사용하는 Docker Desktop과 원격지에 tcp 소켓을 통한 도커를 추가할 수 있습니다. 이렇게 하면 Intellij에 내장된 Docker서비스가 활성화되고, GUI를 이용해 Docker Engine에 있는 컨테이너나 이미지들을 GUI로 다룰 수 있게 해줍니다. [ ..
오늘 다루어볼 포스팅은 "도커 이미지 만들기"이다. 이전에 한번 정리해야지해야지 하면서 미뤄왔었는데, 간단하게 다루어 볼것이다. 필자도 대충은 알았지, 뭔가 깊게 이해하지 못하고 이미지를 빌드했었는데, 이참에 기초부터 한번 정리해봐야겠다. 1. FROM : 도커 이미지의 바탕이 될 베이스 이미지를 지정한다. Dockerfile로 이미지를 빌드할 때 먼저 FROM 인스트럭션에 지정된 이미지를 내려받는다. FROM에서 받아오는 도커 이미지는 도커 허브(Docker Hub)라는 레지스트리를 참조한다. 도커 특정 버전 이상에서는 Multi stage build가 가능해져서, 하나의 베이스 이미지(FROM ..)가 아닌 여러 베이스 이미지를 사용하여 빌드가 가능하다(FROM을 여러번 사용) 2. RUN : 도커 ..
이번 포스팅은 간단하게 싱글 노드 카프카를 도커로 띄우는 방법이다. git clone https://github.com/wurstmeister/kafka-docker cd kafka-docker 설정 파일은 docker-compoese로 되어있으며, 아래와 같다. version: '2' services: zookeeper: image: wurstmeister/zookeeper ports: - "2181:2181" kafka: build: . ports: - "9092:9092" environment: KAFKA_ADVERTISED_HOST_NAME: 127.0.0.1 KAFKA_CREATE_TOPICS: "test:1:1" KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 volum..
이번 포스팅에서 다루어볼 내용은 DOOD로 도커를 띄웠을 때, proxy 설정하는 방법이다. 그전에 간단하게 Docker in Docker(dind)와 Docker Out Of Dcoker(DooD)에 대해 알아보자. Docker in Docker(dind) 도커 내부에 격리된 Docker 데몬을 실행하는 방법이다. CI(Jenkins docker agent) 측면에서 접근하면 Agent가 Docker client와 Docker Daemon 역할 두가지를 동시에 하게 된다. 하지만 이 방법은 단점이 존재한다. 내부의 도커 컨테이너가 privileged mode로 실행되어야 한다. > docker run --privileged --name dind -d docker:1.8-dind privileged 옵션..
공식 dockerhub가 아닌, 개인 혹은 사내 dockerhub로 push하는 방법이다. (dockerHubHost가 개인 혹은 사내 도커허브 도메인) > docker build -t dockerHubHost/levi.yoon/jenkins_example > docker push dockerHubHost/levi.yoon/jenkins_example 뭔가 다른 방법이 있을 것 같긴한대.. 간단하게 위 방법으로도 가능하다 ! 출처: https://coding-start.tistory.com/344?category=761720 [코딩스타트]
Dockerfile 파일이 아니라, 커스텀한 파일명으로 docker manifest를 작성하였을 때, 로컬 빌드하는 명령이다. Dockerfile로 작성되어 있을 때 로컬빌드 명령은 아래와 같다. docker build -t 1223yys/web-project:latest . 만약 Dockerfile이 아닌 다른 파일명으로 image manifest를 작성하였을 때는 아래와 같다. docker build -t 1223yys/web-project -f ./custom_file_name . 위 명령을 실행한 후에 이미지가 잘 빌드되었는지 확인해보자. docker image ls 출처: https://coding-start.tistory.com/341?category=761720 [코딩스타트]
이번 포스팅은 Docker를 이용하여 MongoDB를 설치하는 방법이다. 도커 실행 후 MongoDB 이미지를 받아준다. 이미지가 잘 받아진 것을 확인한다. 이제 내려받은 이미지를 실행시키자. 각 옵션은 이전 도커를 이용하여 오라클을 받는 옵션과 크게 다르지 않으므로 이전 포스팅을 참고하자. 위에서는 아니지만 만약 위에 실행한 명령에 마지막에 "--auth"를 붙인다면, 몽고디비 서버에 접속할때 인증이 필요하게 된다. > docker run --name mongodb -v localpath:containerpath -d -p 27017:27017 mongo --auth 유저를 만들기 위한 설명은 아래 링크참조를 참조하면 될듯하다. DB - MongoDB CRUD 사용방법 및 기타 사용방법 - 1 이번 포..
mac os 환경에서 docker를 이용한 oracle 11g 설치 우선 진행하기 전에 자신의 os에 맞는 docker를 다운로드 해줍니다. 1)docker pull wnameless/oracle-xe-11g =>oracle 11g 도커이미지 다운로드, 여기서 이미지란 컨테이너에서 oracle를 실행시킬 수 있는 모든 파일이 포함된 것이라고 생각하면 됩니다.(변하지 않는 파일) 즉, 이 이미지 파일을 이용하여 컨테이너에서 oracle을 실행시킬 수 있는 것입니다. 2)docker run --name oracle11g -d -p 59161:22 -p 59162:1521 -p 59163:8080 -v ~/my/oracle/data:/var/lib/oracle -e ORACLE_ALLOW_REMOTE=true..
Spring Boot Source12345678910111213@RestController@SpringBootApplicationpublic class App1Application { public static void main(String[] args) { SpringApplication.run(App1Application.class, args); } @GetMapping("/") public String app1() { return "hello app1"; }}Colored by Color Scriptercs Spring Boot Dockerfile 1234567FROM java:8MAINTAINER woniper VOLUME /tmpADD app1.jar app1.jarEXPOSE 8888ENTRYP..