View

출처: thenewstack.io
요즘 개발자 면접에 가서 "도커(Docker)는 써본 적이 없다"고 답하면 분위기가 어색해진다. 백엔드, 데브옵스를 가리지 않고 도커는 거의 기본 소양으로 취급되는 시대다. 다들 docker run은 매일 치면서, 정작 도커 개발자가 누구인지 아는 사람은 드물다.
이 점이 다소 의아하다. 리누스 토르발즈의 이름은 누구나 알면서, 도커를 만든 사람의 이름은 잘 떠올리지 못한다. 도커는 등장 1년 만에 깃허브 스타 1만 개를 찍고 인프라 시장의 표준이 된 도구임에도 그렇다.
면접 준비를 하다가 문득 궁금해져서 찾아봤다. 솔로몬 하익스(Solomon Hykes)가 누구인지, dotCloud라는 PaaS 스타트업에서 도커가 어떻게 튀어나왔는지, 2013년 PyCon에서 5분짜리 라이트닝 토크 한 방에 어떻게 업계가 뒤집어졌는지를 정리한다.
도커를 만든 사람은 솔로몬 하익스(Solomon Hykes)다
도커 개발자는 솔로몬 하익스라는 프랑스 출신 개발자다. 미국과 프랑스를 오가며 활동해왔고, 한국 개발자 커뮤니티에서는 이름이 잘 알려지지 않은 편이지만 미국 인프라 업계에서는 인지도가 상당하다.
프랑스 개발자가 미국에서 PaaS 스타트업을 차린 배경
솔로몬 하익스는 처음부터 도커를 만들겠다고 회사를 세운 사람이 아니다. 2008년에 dotCloud라는 PaaS(Platform as a Service) 스타트업을 공동 창업한 것이 시작이다. PaaS란, 개발자가 코드만 푸시하면 알아서 서버에 배포해주는 클라우드 서비스를 말한다. 헤로쿠(Heroku)와 비슷한 포지션이라고 보면 된다.
2008년 당시는 헤로쿠가 막 부상하던 시기였고, AWS도 EC2 정도로만 알려져 있던 시절이다. 그 틈에 프랑스 개발자가 "우리도 PaaS를 만들어보겠다"고 뛰어든 것이다. dotCloud는 와이콤비네이터(Y Combinator)에도 들어갔고 어느 정도 투자도 받았으나, 헤로쿠나 AWS 빔스토크(Beanstalk) 같은 거인들 사이에서 차별화가 쉽지 않았다.
dotCloud라는 회사 안에서 도커가 태어난 과정
dotCloud는 내부적으로 Ruby, Python, Node.js 같은 여러 런타임을 한 플랫폼에서 돌려야 했다. 이를 한 서버에 깔끔하게 격리해서 운용하는 것이 진짜 골치 아픈 문제였다.
그래서 솔로몬 하익스가 사내 도구로 컨테이너(Container) 기반의 격리 시스템을 만들기 시작했다. 이것이 도커의 시작이다. 즉, 도커는 처음부터 "세상을 바꿀 인프라 도구"로 기획된 것이 아니라, PaaS 운영 효율을 조금 높이기 위해 만든 사이드 프로젝트였다.
이 디테일이 중요한 이유는, 임팩트 있는 도구들이 종종 이런 식으로 태어나기 때문이다. 깃(Git)도 리누스 토르발즈가 리눅스 커널을 관리하기 위해 만든 사이드 프로젝트였다.
사실 도커는 "사이드 프로젝트"였다

도커는 처음에는 "도커"라는 이름조차 없었다. 그저 dotCloud 인프라팀의 격리 도구일 뿐이었다.
dotCloud 내부에서 배포 자동화를 시도하다 만든 도구
dotCloud는 사용자가 푸시한 앱을 격리된 환경에서 돌려야 했다. VM(가상머신)으로 격리하면 너무 무겁고, 한 OS 안에서 그냥 돌리면 의존성 충돌이 미친 듯이 발생한다. 그래서 솔로몬 하익스 팀은 리눅스 커널이 제공하는 cgroups, namespaces 같은 기능을 활용해 "VM보다 가벼운 격리"를 구현하기 시작했다.
이쯤에서 그냥 LXC(Linux Containers)를 쓰면 되지 않느냐는 의문이 들 수 있다. 다만 LXC는 당시에 진짜 거칠었다. 명령어가 복잡하고, 이미지 관리 개념도 없었으며, 개발자가 일상적으로 쓸 만한 UX가 아니었다. 솔로몬 하익스는 LXC 위에 개발자가 바로 쓸 수 있는 추상화 레이어를 얹은 것이다.
처음에는 LXC 래퍼에 가까웠다
도커 초기 버전은 LXC 위에 얇은 래퍼를 씌운 수준이었다. 그럼에도 LXC와 다른 점이 두 가지 있었다.
첫째, 이미지(Image)라는 개념을 도입해 환경을 통째로 패키징하고 공유할 수 있게 만들었다. 둘째, Dockerfile이라는 선언적 빌드 문법을 만들어 "이 환경을 어떻게 만드는지"를 코드로 표현하게 했다. 이 두 가지가 LXC가 해내지 못한 일이다.
2013년 즈음에는 이 사이드 프로젝트가 dotCloud 본업보다 더 흥미로워 보이기 시작했다. 솔로몬 하익스는 도커를 오픈소스로 풀자고 결심하게 되는데, 이것이 회사의 운명을 바꾼다.
2013년 PyCon, 5분짜리 데모가 모든 것을 바꿨다
도커 역사에서 가장 결정적인 순간은 2013년 3월 PyCon US다. 솔로몬 하익스가 라이트닝 토크 세션에 올라 5분짜리 데모를 진행했다. 제목은 "The future of Linux containers"였다.
"The Future of Linux Containers" 라이트닝 토크
라이트닝 토크는 보통 5분짜리 짧은 발표인데, 이 짧은 발표가 인프라 업계를 흔들었다. 솔로몬 하익스가 무대에서 한 일은 단순했다. 터미널을 열고 docker run 명령어 몇 개를 쳐서 컨테이너를 띄우고, 이미지를 공유하고, 격리된 환경에서 앱이 돌아가는 모습을 보여줬다.
다만 그 흐름이 너무 매끄러웠다. 그때까지 컨테이너라는 개념을 쓰려면 chroot, jail, LXC 같은 것을 직접 다뤄야 했고, 명령어가 누더기처럼 길었다. 솔로몬 하익스가 보여준 것은 "명령어 한 줄로 격리된 환경을 띄우고, 그 환경을 그대로 다른 사람에게 보낼 수 있다"는 사실이었다. PyCon 2013 라이트닝 토크 영상을 보면, 발표가 끝난 뒤 박수가 길게 이어지는 장면이 그대로 잡혀 있다.
데모 직후 도커 깃허브 저장소에는 트래픽이 폭주했다. PyCon 발표 당일에만 깃허브 스타가 수백 개 붙었고, 한 달 안에 수천 개를 찍었다.
발표가 끝나자마자 깃허브 스타가 폭발한 이유
왜 이렇게 폭발했는가. 솔로몬 하익스가 천재였기 때문일까? 그것도 영향은 있겠지만, 진짜 이유는 타이밍이다. 2013년은 클라우드, 마이크로서비스, 데브옵스라는 단어가 막 보편화되던 시점이다. 개발자들은 모두 같은 고통을 공유하고 있었다.
- "내 노트북에서는 되는데 서버에서는 안 된다"
- "스테이징 서버와 프로덕션 서버 환경이 미묘하게 다르다"
- "라이브러리 버전 충돌로 배포가 실패한다"
- "VM은 너무 무거워 마이크로서비스 수십 개를 돌리기 힘들다"
이 모든 고통을 한 방에 해결할 수 있어 보이는 도구가 5분 데모로 등장했다. 깃허브 스타가 안 붙는 것이 더 이상한 상황이었다.
그래서 도커가 왜 센세이션이었는가
도커 개발자가 누구인가보다 더 중요한 것은 "왜 이것이 그렇게 큰일이었나"이다. 네 가지로 압축된다.
"내 컴퓨터에서는 된다" 문제를 진짜로 해결해버렸다
개발자라면 누구나 한 번쯤 들어본 그 문장, "It works on my machine." 도커는 이를 진심으로 끝내버린 도구다. 이미지에 OS, 런타임, 의존성, 코드, 환경변수까지 통째로 패키징하니, 내 노트북에서 만든 이미지가 동료 노트북, 스테이징 서버, 프로덕션 서버에서 똑같이 돌아간다.
말은 쉬운데 그전까지는 진짜 안 되던 일이다. Vagrant 같은 도구로 비슷하게 흉내는 냈지만 무거웠고, Chef/Puppet 같은 구성 관리 도구는 환경 차이를 완전히 막지 못했다. 도커는 이를 이미지 한 덩어리로 해결했다.
VM 대비 부팅은 초 단위, 디스크는 메가 단위
VM(Virtual Machine)은 게스트 OS 전체를 띄우니 부팅에 분 단위가 걸리고, 디스크도 기가바이트 단위로 잡아먹는다. 도커 컨테이너는 호스트 OS 커널을 공유하므로 수 초 안에 뜨고, 디스크도 수십 메가바이트면 충분하다.
이 차이가 어떤 의미인가. 마이크로서비스 100개를 한 머신에 띄우는 것이 가능해진다는 뜻이다. VM으로는 못 했던 일이다. 클라우드 비용 구조 자체가 바뀐다.
Dockerfile이라는 작성 경험이 너무 직관적이었다
FROM python:3.11
COPY app.py /app/
RUN pip install flask
CMD ["python", "/app/app.py"]
이것이 전부다. 5줄짜리 텍스트 파일이 곧 환경 정의이자 빌드 스크립트다. 누가 봐도 무슨 뜻인지 알 수 있다. 이를 깃에 함께 커밋하면 환경이 코드로 버전 관리된다.
그전까지 환경 구성은 위키 문서나 README에 적어두고 신입 개발자가 며칠씩 삽질하면서 따라가는 방식이었다. Dockerfile은 그 작업을 5분짜리로 줄여버렸다. 솔로몬 하익스가 이 인터페이스를 깔끔하게 디자인한 것이 도커 성공의 절반은 차지한다.
Docker Hub로 이미지 공유가 npm처럼 쉬워졌다
솔로몬 하익스가 잘한 또 한 가지가 Docker Hub 같은 공개 레지스트리를 빠르게 띄운 것이다. docker pull nginx를 치면 누군가 만들어둔 nginx 이미지가 그대로 내려온다. docker push를 하면 내 이미지를 공유할 수 있다.
이는 npm, PyPI 같은 패키지 생태계와 똑같은 효과를 냈다. 재사용 가능한 인프라 컴포넌트의 표준 유통 채널이 생긴 것이다. 한 번 이런 생태계가 자리 잡으면 후발주자가 뒤집기는 진짜 어려워진다.
회사 이름까지 바꾸게 만든 사이드 프로젝트

출처: velog.io
도커가 PyCon에서 폭발한 뒤, dotCloud는 진짜 어려운 결정을 내려야 했다. 본업인 PaaS는 헤로쿠 같은 경쟁자에게 밀리고 있었고, 사이드 프로젝트였던 도커는 매일 깃허브 스타가 수백 개씩 붙고 있었다.
dotCloud → Docker, Inc.로 사명 변경
2013년 말, dotCloud는 회사 이름을 Docker, Inc.로 바꿨다. 동시에 dotCloud의 PaaS 사업 자체를 다른 회사에 매각했다. 본업을 팔고 사이드 프로젝트에 올인한 것이다. 이런 결정은 결코 쉽지 않다.
스타트업 회고를 보면 보통 "피벗(pivot)"이라는 단어를 쓰는데, 도커의 경우는 피벗을 넘어 거의 환골탈태 수준이었다. 솔로몬 하익스가 본인의 회사를 갈아엎으면서까지 도커에 베팅한 것이다.
PaaS 본업을 팔고 도커에 올인한 결정
이 결정이 옳았는지는 결과가 말해준다. Docker, Inc.는 그 후로 수억 달러의 투자를 받았고, 한때 기업 가치가 10억 달러를 넘었다(소위 유니콘). dotCloud로 계속 갔다면 절대 만들 수 없는 규모다.
다만 한편으로는 "왜 도커가 진짜 큰돈은 못 벌었나"라는 비판도 따라온다. 도커는 오픈소스라 회사 자체가 수익화하기는 어려웠고, 결국 엔터프라이즈 사업부는 미란티스(Mirantis)에 매각하게 된다. 이는 또 다른 이야기이긴 하다.
도커가 만든 도미노, 쿠버네티스와 클라우드 네이티브
도커 개발자 솔로몬 하익스가 만든 진짜 영향력은 도커 그 자체가 아니라, 도커 이후로 줄줄이 일어난 도미노다.
컨테이너 표준화(OCI)의 시작점이 되었다
도커가 컨테이너 표준이 되자 다른 회사들도 자기 컨테이너 런타임을 만들기 시작했다. 이것이 호환성 문제를 일으킬까봐 2015년에 OCI(Open Container Initiative)라는 표준 단체가 만들어졌다. 도커, 구글, 레드햇, IBM 등이 모두 들어갔다. 컨테이너 이미지 포맷, 런타임 스펙이 여기서 표준화된다.
OCI가 없었다면 컨테이너 시장은 분열됐을 것이다. 도커 개발자가 만든 도구가 산업 표준의 시발점이 된 것이다.
구글의 쿠버네티스(2014)로 이어졌다
도커가 컨테이너 단일 호스트 실행 문제를 풀었다면, 쿠버네티스(Kubernetes)는 컨테이너 수천 개를 클러스터로 묶어 돌리는 문제를 풀었다. 구글이 2014년에 쿠버네티스를 오픈소스로 공개했는데, 이는 도커가 없었다면 나올 수가 없는 도구였다.
쿠버네티스는 처음에 도커 컨테이너를 직접 실행했고(이후 containerd로 분리), 도커 이미지 포맷을 그대로 썼다. 도커가 컨테이너의 알파벳을 만들었고, 쿠버네티스가 그 알파벳으로 단어를 만들었다고 보면 된다.
지금 우리가 쓰는 클라우드 인프라의 뼈대가 여기서 시작되었다
지금 클라우드에서 쓰는 매니지드 서비스 대부분이 컨테이너 기반이다. AWS ECS, AWS Fargate, Google Cloud Run, Azure Container Instances, GitHub Actions의 러너 모두 컨테이너 위에서 돈다. CNCF(Cloud Native Computing Foundation)라는 재단도 도커가 만든 흐름 위에서 결성됐다.
요약하면 솔로몬 하익스가 2013년 PyCon에서 친 5분 데모 한 번이 10년 넘게 클라우드 인프라 산업의 방향을 바꿨다. 도커 개발자라는 타이틀이 가벼운 것이 아닌 이유다.
솔로몬 하익스는 지금 무엇을 하는가

출처: GeekWire
도커 개발자가 지금 무엇을 하고 사는지 궁금한 사람도 있을 것이다. 솔로몬 하익스는 더 이상 도커에 없다.
2018년 Docker, Inc. 공식 퇴사
2018년 3월, 솔로몬 하익스는 Docker, Inc.에서 공식적으로 떠났다. 본인 트위터에 "다음 챕터로 간다"는 식으로 발표했다. 도커 회사 자체는 그 후로도 계속 운영됐지만, 창업자 본인은 손을 뗀 것이다.
이 시점 즈음에 Docker, Inc.는 사업 모델 고민이 깊었다. 오픈소스 도커는 폭발적으로 쓰이는데 회사가 어떻게 돈을 벌지가 명확하지 않았다. 솔로몬 하익스가 그 짐까지 모두 짊어지고 가지는 않은 것으로 보인다.
Native 창업, 여전히 개발자 도구를 만드는 중
퇴사 후 솔로몬 하익스는 Native라는 새 스타트업을 차렸다. 여전히 개발자 도구 영역에서 일하고 있다. 도커처럼 또 한 번 업계 판도를 바꿀 도구를 만들지는 두고 봐야 알겠지만, 한 번 큰 것을 만든 사람이 그 한 번으로 끝나는 경우는 드문 편이다.
도커 자체는 OCI 표준으로 분리됐고, 컨테이너 런타임은 containerd, CRI-O 같은 것으로 다양해졌다. 솔로몬 하익스가 처음 만든 형태는 진화했지만, 그 출발점은 여전히 그가 PyCon 무대에서 친 그 5분짜리 데모다.
세 줄 요약
- 도커 개발자는 프랑스 출신 솔로몬 하익스(Solomon Hykes)다. dotCloud라는 PaaS 회사의 사이드 프로젝트로 도커가 태어났다.
- 2013년 PyCon US에서 5분짜리 라이트닝 토크로 공개됐고, 그 한 방으로 깃허브 스타가 폭발하면서 인프라 업계 표준이 됐다.
- 도커가 OCI, 쿠버네티스, 클라우드 네이티브 생태계로 이어지는 도미노의 첫 패였다. 솔로몬 하익스는 2018년 회사를 떠났고 지금은 Native라는 새 스타트업을 운영 중이다.
도커가 그저 운 좋게 뜬 도구라고 생각하기 쉽지만, 알고 보면 개발자가 진짜로 아파하던 문제를 정확히 짚어낸 결과물이다. 솔로몬 하익스가 잘한 것은 기술 자체보다 Dockerfile이라는 인터페이스와 Docker Hub라는 생태계를 한 번에 깔아준 점이다. 다음에 docker run을 칠 때 이 사람의 이름을 한 번쯤 떠올려봐도 좋을 듯하다.
다음 글에서는 컨테이너 내부 동작 원리(cgroups, namespaces, overlayfs)를 직접 손으로 돌려보는 실습을 정리해볼 생각이다. 도커가 어떻게 격리를 구현하는지 코드 레벨로 따라가면 클라우드 네이티브 전반이 훨씬 또렷하게 잡힌다.
참고 자료
- Docker 공식 사이트 — 도커 회사 및 제품 정보
- Wikipedia: Docker (software)) — 도커 역사 정리
- Open Container Initiative — 컨테이너 표준화 단체
- Cloud Native Computing Foundation — 클라우드 네이티브 생태계 재단
- 솔로몬 하익스 PyCon 2013 라이트닝 토크 영상 (YouTube에서 "Solomon Hykes Docker PyCon 2013" 검색)
'DevOps' 카테고리의 다른 글
| Apache Flink란 무엇인가? 실시간 스트리밍 프레임워크 정리 (0) | 2026.05.01 |
|---|---|
| RabbitMQ vs Kafka, 언제 무엇을 사용해야 하는지 정리한다 (0) | 2026.04.30 |
| CGI, WSGI, WAS의 차이 정리 — 웹서버 공부할 때 헷갈리는 개념 한 번에 끝내기 (0) | 2026.04.25 |
| 트래픽 Traffic 1000배가 터져도 죽지 않는 서버를 만드는 법 (1) | 2026.04.24 |
| 쿠버네티스(Kubernetes)는 누가 만들었는가? 개발자 3인방과 탄생 배경을 파헤치다 (1) | 2026.04.24 |
