본문 바로가기

728x90

docker

[AWS] EC2 인스턴스에서 docker swarm 서비스를 통해 웹서버 구동 및 확장 이전 포스팅을 통해서 docker swarm manager와 worker 노드의 구성이 완료 되었다면 이제 실제로 서비스를 생성하여 각 노드들에 어떻게 컨테이너들이 구동되는지 살펴볼 차례이다. 그리고나서 간단하게 서비스를 확장하고 서비스의 변경사항을 반영하는 것에 대해 알아보도록 한다. visualizerdocker node ls명령과 docker service ls 명령을 통해서 각 노드들과 서비스의 상태를 파악할 수 있지만 콘솔창에 출력되는 텍스트만으로는 보기가 불편하기 때문에 visualizer를 통해 이를 시각화하여 볼 수 있도록 한다.visualizer 구동$ docker service create --name=viz --publish=5000:8080/tcp --constraint=node.r.. 더보기
[Docker] Docker for AWS Demo 따라해보기 아래 데모의 과정은 AWS Summit 2017에서 발표한 AWS와 Docker Swarm을 이용한 쉽고 빠른 컨테이너 오케스트레이션 - 김충섭 개발자(퍼플웍스) 에서의 데모 시연 과정을 정리한 것입니다. 시작에 앞서 Docker for AWS를 통해 미리 정의된 AWS의 CloudFormation 템플릿을 사용하여 AWS 리소스들을 생성하고 아래 절차를 수행한다. (이 과정은 기본적으로 Next만 수행하면 되므로 생략) 리소스들이 생성되는 시간은 대략 10분정도 소요 데모 수행 절차CloudFormation에서 Output을 선택하여 manager 목록으로 이동manager 목록 중 하나를 선택해서 ssh 접속.여기서 ssh 접속 user 명은 dockerdocker service create 명령으로.. 더보기
[Docker] 컨테이너에서 sudo 사용하기 sudo 명령을 실행하기 위해서는 sudo 설치 및 사용자 설정이 필요하다. 아래 절차를 Dockerfile의 RUN 명령문에 지정하면 된다. 1. sudo 설치$ apt-get update && apt-get install -y sudo 2. 사용자 계정 추가 (아래 명령에서 사용자명은 user이다.)$ adduser --disabled-password --gecos "" user \ && echo 'user:user' | chpasswd \ && adduser user sudo \ && echo 'user ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers 이 때 sudoers에 추가한 유저에 대한 설정을 하지 않으면 sudo를 사용할 수 없다. /etc/sudoers의 내용을 보.. 더보기
[Docker] private repository 구성하기 테스트용으로 구성해본 private registry 이므로 도메인과 SSL 인증서가 없다는 가정하에 진행하도록 한다. 도메인이 있는 경우 /etc/hosts 파일에 도메인을 지정하는 작업을 생략해도 된다.인증서 발급과정과 설치 과정은 가장 빨리 만나는 docker의 내용을 참고 하였다. 테스트용 도메인 설정 및 인증서 생성/etc/hosts 파일을 수정하여 도메인 추가$ vi /etc/hosts 127.0.0.1 localhost 127.0.1.1 hiveDev2 192.168.10.211 registry.hive.com # The following lines are desirable for IPv6 capable hosts ::1 localhost ip6-localhost ip6-loopback ff0.. 더보기
docker swarm tutorial 따라해보기 참고 : https://docs.docker.com/engine/swarm/swarm-tutorial/ 여러 노드를 테스트 해보기 위해 docker-machine을 사용하여 호스트를 추가$ docker-machine create manager1 생성된 호스트를 ssh를 사용하여 접속할 수 있다.$ docker-machine ssh manager1 해당 호스트에서 아래 명령을 수행하여 swarm을 초기화 한다.$ docker swarm init --advertise-addr 내가 테스트 한 환경에서는 추가한 호스트의 ip가 192.168.99.100 였으므로 아래와 같이 명령을 수행한다.$ docker swarm init --advertise-addr 192.168.99.100 Swarm initializ.. 더보기
docker container에서 sudo 사용하기 sudo 설치$ apt-get udpate && apt-get install -y sudo사용자 계정 추가$ adduser --disabled-password --gecos "" hive \ && echo 'hive:hive' | chpasswd \ && adduser hive sudo \ && echo 'hive ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers \ && mkdir /var/run/sshd이 때 sudoers에 추가한 유저에 대한 설정을 하지 않으면 sudo를 사용할 수 없다./etc/sudoers의 내용을 보면 %sudo로 시작하는 설정이 있는데 이는 sudo group에 속한 유저에 대한 권한 설정이다.NOPASSWD 설정을 해주지 않으면 sudo 그룹에 속한 .. 더보기
Docker Enterprise 버전 간략 정리 Docker Enterprise 가격 정책 Enterprise를 사용할 경우 평일 오전 9시~오후 6시까지 서포트를 받을 수 있음.한국 시간이 아닌 현지 시간임에 주의.심각도에 따라 2/4/12시간 이내로 답변Urgent(P1) : 라이브 환경에서 운영에 심각한 영향을 미치는 모든 사건. 일반적으로 작업이 중단되고 이를 다시 복구할 수 있는 방법이 없는 경우.High(P2) : 라이브 환경에서 중대한 영향을 주거나 비중이 작은 비즈니스 운영이라 하더라도 심각한 영향을 미치는 모든 사건. 일반적으로 작동은 되지만 성능이 저하 된 상태이며 회복이 되지 않는 상황Normal(P3) : 비즈니스 운영에 중대한 영향을 미치는 모든 사건. 일반적으로 작업은 작동은 되지만 기능을 제대로 사용할 수 없는 경우.Low(.. 더보기
Docker 활용기(4) - redis 구성해보기 Custom config 파일 적용하기redis 이미지를 구동하면 설정이 기본값으로 적용되기 때문에 직접 설정한 redis.conf파일을 적용하려면 docker run 명령 수행시에 -v 옵션을 통해 container 내의 /usr/local/etc/redis/redis.conf 경로로 볼륨을 지정하거나 Dockerfile에 설정파일을 해당 경로로 복사를 수행해주면 된다. 나는 Dockerfile을 사용하여 빌드한 후 docker-compose로 컨테이너를 구동시키기 때문에 아래와 같이 Dockerfile에 설정을 했다.FROM redis:3.0 MAINTAINER Yongho Choi RUN mkdir /var/log/redis RUN mkdir /usr/local/etc/redis COPY conf/.. 더보기

728x90