수업 63일차 도커

유동우·2022년 12월 31일
1

■ Docker 기본 설정

● 64비트 운영 체제

● Windows 기능 켜기/끄기

Hyper-V
Linux용 Windows 하위 시스템
Windows 하이퍼바이저 플랫폼
가상 머신 플랫폼

● BIOS에서 virtualization이 활성화

● 리눅스 커널 내려받기

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

https://docs.docker.com/docker-for-windows/install

● 구글에 Docker치고 windows버젼 다운로드

docker images // 목록보기

docker run --name nginx -p 8000:80 -d nginx
도커 명령어/실행/내가만든 컨테이너이름/port설정/내 서버포트/원본포트/백그라운드 실행/이미지이름

docker exec -it nginx /bin/bash

find / -name index.html 2>/dev/null

cd /usr/share/nginx/html
ls
vi index.html
exit
c드라이버에 docker폴더생성 안에 nginx폴더생성
프롬프트로 와서
cd /
cd docker
cd nginx
dir
docker cp nginx:/usr/share/nginx/html/index.html index.html
dir // 입력하면 index.html 파일 생성됨

visual studio 켜서 index.html 파일 넣고

Welcome to nginx!

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and working. Further configuration is required.

For online documentation and support please refer to nginx.org.
Commercial support is available at nginx.com.

Thank you for using nginx.




안녕하세요

AWS반 603호 입니다.

입력하고 저장

다시 프롬프트로와서

docker cp index.html nginx:/usr/share/nginx/html/index.html
복사/내가만든 컨테이너이름/저장위치

docker commit nginx mynginx

docker images

docker stop nginx

docker ps

docker ps -a

docker rm nginx

docker ps -a

docker run --name nginx -p 8000:80 -d mynginx

docker ps

=================================================

nginx폴더에 Dockerfile.txt.만듬

visual studio로 켜서

FROM nginx
COPY index.html /usr/share/nginx/html/
입력하고 저장

index.html에 2번째줄에 추가

입력하고 저장

Dockerfile 확장자 삭제

프롬프트로와서
docker build -t mynginx2 .

docker images

=> mynginx2생성됨

docker run --name custom1 -p 8002:80 -d mynginx2

docker ps

docker cp index.html

docker cp index.html custom1:/usr/share/nginx/html/index.html
//mynginx2서버에 index.html파일 복사

■ 기본적인 명령어

docker 커맨드 (옵션) 대상 (인자)

ex) docker run --name nginx -p 8000:80 -d mynginx

-d = 백그라운드

===========================

만든거 다 지우고

docker create --name mynginx -p 8000:80 nginx

docker container ls -a

docker container start mynginx

docker container ls

docker container cp mynginx:/usr/share/nginx/html/index.html index2.html

docker container cp index.html mynginx:/usr/share/nginx/html/index.html

docker container commit mynginx mynginx2

==========================================

■ 아파치 컨테이너생성

docker run --name apa000ex1 -p 8000:80 -d httpd
docker ps
docker run --name apa000ex1 -d httpd
docker ps
docker stop apa000ex1
docker ps
docker ps -a
docker rm apa000ex1
docker ps -a

==================================

문제 1) 도커를 사용하여 아파치 웹 서버(httpd)를 다운받아 각각
컨테이너명을 apa000ex3,4,5으로 설정하고, 접속포트를 8001,8002,8003으로 설정한 다음
각각의 컨테이너에 접속하여 index.html 파일을 수정하여 웹 브라우저에 출력하세요

  • It works! 대신 => 8001번 포트, 출력하고 싶은내용

  • 추가 (한글변경)
  • 로 수정
  • docker exec -it apa000ex3 /bin/bash // 실행중인 컨테이너 속에서 프로그램을 실행 (경로가나옴)

  • /usr/local/apache2/htdocs/index.html 이 존재

<하는법>

■ 1.컨테이너 생성

docker run --name apa000ex3 -p 8001:80 -d httpd

docker run --name apa000ex4 -p 8002:80 -d httpd

docker run --name apa000ex5 -p 8003:80 -d httpd

■ 2.수정할 파일 생성

docker container cp apa000ex3:/usr/local/apache2/htdocs/index.html index3.html

docker container cp apa000ex4:/usr/local/apache2/htdocs/index.html index4.html

docker container cp apa000ex5:/usr/local/apache2/htdocs/index.html index5.html

■ 3.파일을 visual studio에 옮겨서 수정

// 언어 한국어설정 // 한국어로 나오게끔 해주는 명령어

8001 포트 사용

AWS반 유동우 입니다.

■ 4.파일내용 복사

docker container cp apa000ex3:/usr/local/apache2/htdocs/index.html index3.html

docker container cp apa000ex4:/usr/local/apache2/htdocs/index.html index4.html

docker container cp apa000ex5:/usr/local/apache2/htdocs/index.html index5.html

==================================

■ mysql 컨테이너 생성

시작 - 서비스 실행 MySQL80 중지

프롬프트로 와서

docker run --name mysql000ex7 -dit -e MYSQL_ROOT_PASSWORD=busanit -p 3306:3306 mysql

MySQL켜서 docker mysql이름으로 만듬

show databases;
use mysql;

select host, user, authentication_string from user;

입력해서 실행해보면 쓸수있는범위가 나옴

profile
클라우드 엔지니어가 되고싶은 클린이

0개의 댓글