- 전체
- C/C++ 일반
- C/C++ 수학
- C/C++ 그래픽
- C/C++ 자료구조
- C/C++ 인공지능
- C/C++ 인터넷
- wxWidget
- GTK+
- UNIX or LINUX programming
- 리눅스 마스터 - 국가공인자격
- VC++/ MFC
- C#/CLI/.NET
- QT/기타UI
- Boost lib
- 오픈소스 C 분석자료
- MSA (마이크로서비스), Docker, kubernetes
- WSL(windows subsystem linux)

Docker File
Docker File이란 Docker Image를 만들기 위한 설정 파일입니다. 여러가지 명령어를 토대로 Docker File을 작성하면 설정된 내용대로 Docker Image를 만들 수 있습니다. 이전 포스트에서도 설명했듯이 Docker File을 읽을줄 안다는 것은 해당 이미지가 어떻게 구성되어 있는지 알 수 있다는 의미입니다.
Docker File 작성 예
$ vim Dockerfile
FROM ubuntu:14.04
# app 디렉토리 생성
RUN mkdir -p /app
#Docker 이미지 내부에서 RUN, CMD, ENTRYPOINT의 명령이 실행될 디렉터리를 설정합니다.
WORKDIR /app
# 현재 디렉터리에 있는 파일들을 이미지 내부 /app 디렉터리에 추가함
ADD . /app
RUN apt-get update
RUN apt-get install apache2
RUN service apache2 start
VOLUME ["/data", "/var/log/httpd"]
# 하기 포트를 외부로 노출합니다.
EXPOSE 80
# 쉘을 사용하지 않고 컨테이너가 시작되었을 때 logbackup 스크립트를 실행
CMD ["/app/log.backup.sh"]
:wq!
컨테이너에 담을 파일들은 Dockerfile 하위디렉토리에 있어야하며 Dockerfile 안에서 ADD시 절대경로는 사용 불가능 합니다.
FROM
기반이 되는 이미지 레이어입니다.
<이미지 이름>:<태그> 형식으로 작성
ex) ubuntu:14.04
MAINTAINER
메인테이너 정보입니다.
RUN
도커이미지가 생성되기 전에 수행할 쉘 명령어
VOLUME
VOLUME은 디렉터리의 내용을 컨테이너에 저장하지 않고 호스트에 저장하도록 설정합니다.
데이터 볼륨을 호스트의 특정 디렉터리와 연결하려면 docker run 명령에서 -v 옵션을 사용해야 합니다.
ex) -v /root/data:/data
CMD
컨테이너가 시작되었을 때 실행할 실행 파일 또는 셸 스크립트입니다.
해당 명령어는 DockerFile내 1회만 쓸 수 있습니다.
WORKDIR
CMD에서 설정한 실행 파일이 실행될 디렉터리입니다.
EXPOSE
호스트와 연결할 포트 번호입니다.
.dockerignore
dockerignore 파일 생성시 Docker 이미지 생성 시 이미지안에 들어가지 않을 파일을 지정 할 수 있습니다.
$ vim dockerignore
node_modules
npm-debug.log
Dockerfile*
docker-compose*
.dockerignore
.git
.gitignore
README.md
LICENSE
.vscode
:wq!
작성 된 Docker File로 Image 만들기
$ docker build -t [만들고싶은 이미지 이름]
해당 명령어는 반드시 DockerFile 경로에서 입력해야 합니다.
[출처] https://khj93.tistory.com/entry/Docker-Docker-File-%EC%9E%91%EC%84%B1%ED%95%98%EA%B8%B0-%EB%AA%85%EB%A0%B9%EC%96%B4
광고 클릭에서 발생하는 수익금은 모두 웹사이트 서버의 유지 및 관리, 그리고 기술 콘텐츠 향상을 위해 쓰여집니다.
댓글 0
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
|---|---|---|---|---|
| 11 |
[C/C++][인터넷] C++ Web Scraping: Tutorial 2023 : C++ 웹 스크래핑: 튜토리얼 2023
| 졸리운_곰 | 2023.11.11 | 263 |
| 10 | [C/C++][인터넷] [C++] Full-fledged client-server example with C++ REST SDK 2.10 | 졸리운_곰 | 2023.02.20 | 297 |
| 9 |
[C/C++][인터넷] [C++] FTP Upload/Download 구현 클래스(매우 유용)
| 졸리운_곰 | 2022.11.16 | 256 |
| 8 |
[C/C++] The Ultimate Guide to Web Scraping With C++
| 졸리운_곰 | 2022.09.21 | 330 |
| 7 |
[C/C++] Modern C++ micro-service implementation + REST API
| 졸리운_곰 | 2022.04.15 | 257 |
| 6 |
C++ Simple BOOST Asynchronous ASIO Reverse Proxy
| 졸리운_곰 | 2021.05.10 | 299 |
| 5 | [C/C++ 네트워크 프로그래밍] POCO 라이브러리의 특징 | 졸리운_곰 | 2021.01.06 | 642 |
| 4 |
Building libtorrent with Visual Studio
| 졸리운_곰 | 2020.10.25 | 309 |
| 3 |
Webdriver++ : A C++ client library for Selenium Webdriver.
| 졸리운_곰 | 2017.07.30 | 380 |
| 2 | netstat wrapper on Windows in C++ | 졸리운_곰 | 2014.02.17 | 1116 |
| 1 |
Linux C++ Socket Example with Client Server and Mulit-Threading
| 졸리운_곰 | 2014.02.17 | 1104 |

