본문 바로가기

Dev Platform/Docker

[Docker] Docker를 이용해서 QT 빌드 시스템 구축해보기

반응형

안녕하세요.

Docker을 이용해서 QT 빌드 시스템 구축하는 방법을 예제로

Docker 활용법에 대해서 말씀드리겠습니다.

Docker는 Container 기술 중 하나로 

Container 기술 중에 가장 빠르게 성장하고 있고 또 널리 쓰이고 있는 중입니다.

저도 최근에 Docker를 접하게 되었고, Docker 신봉자가 되었습니다.

1. Docker 설치

sudo apt-get install docker.io

 

2. sudo 명령어 없이 docker 실행하기

sudo usermod -aG docker $USER


이후 리붓 또는 재로그인

 

3. Dockerfile 작성하기

FROM ubuntu:18.04

RUN apt-get update

RUN apt-get install -y build-essential perl python git wget libgl-dev

RUN apt-get install -y qt5-default qtcreator

ENTRYPOINT qtcreator

a. FROM ubuntu:18.04

- ubuntu:18.04를 기반으로 이미지를 만든다.

b. RUN ~~~

- ~~~를 실행한다.

c. ENTRYPOINT

- container start 시 수행할 명령어

 

 

4. Dockerfile 빌드하기

- docker build --tag dev:ubuntu_18.04 .

- docker images

 

5. container 실행하기

docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix dev:ubuntu_18.04

- -it : Bash를 사용하려면 이 옵션을 사용하는 걸 권장

- -e : container의 환경 변수 설정

- -v : host 디렉토리와 container 디렉토리를 연결

위는 docker run 예제에서는 ssh X11 forwarding 기술을 사용하기 위해서 ( Container에서 qtcreator를 실행하기 위함. )

-e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix 를 추가하였습니다.

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'

No protocol specified

qt.qpa.screen: QXcbConnection: Could not connect to display :1

Could not connect to any X display.

만약 위와 같은 에러가 출력되면

xhost +

 

6. 프로젝트 생성 및 빌드 그리고 실행

 

 

반응형