도커 환경
윈도우 설정
- Hyper-V : 윈도우용 가상머신(VM)
- Linux 용 Windows 하위 시스템 : WSL기반 리눅스 가상화기술
윈도용 도커 설치
https://docs.docker.com/get-docker/
DockerCompose 디버깅환경
도커 오픈스택 + 도커화된 자신의 어플리케이션을 로컬컴퓨터 한곳에 띄워 로컬개발환경을 구축할때 유용합니다.
도커용 프로젝트 및 도커 컴포즈 추가
docker-compose.dcproj
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" Sdk="Microsoft.Docker.Sdk">
<PropertyGroup Label="Globals">
<ProjectVersion>2.1</ProjectVersion>
<DockerTargetOS>Linux</DockerTargetOS>
<ProjectGuid>GUID툴로 생성....</ProjectGuid>
<DockerLaunchAction>None</DockerLaunchAction>
<DockerServiceUrl>{Scheme}://localhost:{ServicePort}/swagger</DockerServiceUrl>
<DockerServiceName>akkanetcore</DockerServiceName>
</PropertyGroup>
<ItemGroup>
<None Include="docker-compose.yml" />
<None Include=".dockerignore" />
</ItemGroup>
</Project>
docker-compose.yml
version: '3.4'
services:
lighthouse:
image: ${DOCKER_REGISTRY-}lighthouse
build:
context: .
dockerfile: ../LightHouse/Dockerfile
environment:
CLUSTER_IP: lighthouse
CLUSTER_PORT: 4053
CLUSTER_SEEDS: akka.tcp://actor-cluster@lighthouse:4053
ports:
- 4054:4053
- 9111:9110
akkadb:
image: mysql:5.7
command: --default-authentication-plugin=mysql_native_password
ports:
- 33061:3306
volumes:
- ./firstsql.mysql:/docker-entrypoint-initdb.d/init.sql:ro
environment:
MYSQL_ROOT_PASSWORD: root
zookeeper:
image: 'bitnami/zookeeper:latest'
ports:
- '2181:2181'
environment:
- ALLOW_ANONYMOUS_LOGIN=yes
kafka:
hostname: kafka
image: 'bitnami/kafka:latest'
ports:
- '9092:9092'
environment:
- KAFKA_ADVERTISED_HOST_NAME=kafka
- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181
- ALLOW_PLAINTEXT_LISTENER=yes
docker-compose 의 문법을 그대로 이용합니다.
솔류션에 프로젝트 추가
디버깅없이 시작하거나, 디버깅을 수행할수 있습니다.
솔류션 내에서 컨테이너 확인가능
Visual Studio 를 닫게되면, 자동으로 컨테이너들을 정리합니다. ( 옵션 )
참고:

