티스토리 뷰
Docker가 무엇인가?
리눅스 컨테이너 기술을 기반으로 만든 오픈소스 소프트웨어 플랫폼
Container가 무엇인가?
리눅스에서 cgroup과 namespace 기술을 이용하여 만든 프로세스 격리 기술
Docker 설치
?
Docker 서비스 시작
systemctl enable docker
systemctl start docker
Docker 기본 명령어
# docker 정보 확인
docker info
# container 확인
docker ps -a
# container 실행
docker run hello-world
docker run -it ubuntu bash
# docker image 목록
docker images
# docker registry에서 image 가져오기
docker pull <name>
# docker registry로 image 올리기
docker push <name>
# container image에 tag 붙이기
docker tag <source_name> <target_tag_name>
# container 제거
docker rm <container_id>
(container_id는 "docker ps -a"로부터 얻을 수 있다.)
# container image 삭제
docker rmi <image_name>
Docker 사용
# Web service 실행하기
docker pull httpd
(docker images 명령으로 image가 local에 download 됐는지 확인)
docker run httpd
# docker를 background로 실행
docker run -d httpd
("docker ps -a"로 실행 확인)
# network 연결
docker run -d -p 80:80 httpd
(확인: curl localhost 또는 web browser)
웹 페이지 내용 변경은 어디서 할까?
local machine or container?
# container shell 접속
docker exec -ti <container_id> /bin/bash
(root@<container_id>:# cd /usr/local/apache2/htdocs; echo "<html><body><h1>Docker container test</h1></body></html>" > index.html; exit;)
(curl localhost)
Docker build
sample "Dockerfile"
# registry에서 image를 가져온다.
FROM httpd:latest
MAINTAINER sangkyu <sangkyu@kakao.com>
# container 부팅 후 실행하는 명령
RUN echo "<html><body><h1>Docker container test</h1></body></html>
# host에 연결하는 포트
EXPOSE 80
# docker image build
docker build -t myhttpd .
(docker images로 확인)
docker run -d -p 80:80 --name=myweb myhttpd
(docker ps; curl localhost;로 확인)
Docker 통합 관리
# docker-compose 설치
?
# sample docker-compose.yml
version: '3.3'
services:
db:
image: mysql:5.7
volumes:
- /var/lib/mysql:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: passwordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
wordpress:
depends_on:
- db
image: wordpress:latest
ports:
- "8000:80"
restart: always
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
(원본: https://docs.docker.com/compose/overview)
# 빌드 및 실행
docker-compose -f docker-compose.yml up -d
# 확인
docker-compose ps
# Browser 접속
localhost:8000/wp-admin
'해피 코딩' 카테고리의 다른 글
파이썬 알고리즘 문제: Anagram (0) | 2021.01.15 |
---|---|
[번역] 파이썬으로 테트리스 만들기 (0) | 2020.07.12 |
Yocto project 소개 (1) | 2019.12.27 |
Docker registry 처음 사용하기 (0) | 2019.12.02 |
크롤링2 (0) | 2019.08.17 |
- Total
- Today
- Yesterday
- mba
- react-native
- 개발노트
- 경영
- 중년
- yocto
- pyTorch
- 코딩인터뷰
- 바질
- 중년개발자이야기
- 바질키우기
- Poky
- wp
- diary
- 개발일지
- 일기
- 자동거래
- firebase
- 행안부
- til
- LearnByArticle
- 알고리즘문제
- Journal
- 저널
- 개발자
- 퀀트
- React
- 계획
- AWS
- node_modules
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |