
docker container run --name web_01 -d -p 80:80 nginx:latest


# 컨테이서 bash 쉘 실행하면서 접속
docker container exec -it web_01 /bin/bash
cd /usr/share/nginx/html/
ls -l
# 이름 바꿀때 사용됨 > 백업 파일로 바꿔놈
mv index.html index.html.bak
# 새로운 파일 생성
echo web_01 > index.html

# 인증정보
vi ~/.docker/config.json
# 계정 정보
system info | grep Username
Username : cition07

# 변경사항을 Commit
docker container commit -a "cition07" web_01 web_01:1.0

netstat -antp

# 새로운 컨테이너 실행 (8080 : 중복 방지)
docker container run --name web_02 -d -p 8080:80 web_01:1.0
# bash 쉘 실행
docker container exec -it web_02 /bin/bash
# html 경로
cd /usr/share/nginx/html/
# 파일 수정 덮어쓰기
echo web_02 > index.html
cat index.html
출력 내용 : web_02


docker save -o export.tar web_01:1.0

# 기존에 있던거 이미지 지우기
docker image rm web_01:1.0
# load
docker image load -i export.tar
# 이미지 조회
docker image ls

docker container run --name web_01 -d -p 8080:80 web_01:1.0
# 아이디가 다를 경우에는 올바르게 접속한다.
docker logout
docker login -u yslee4050
# Tag
docker tag web_01:1.0 yslee4050/webserver:1.0
# 도커 허브로 push
docker push yslee4050/webserver:1.0
# 확인 방법
curl 10.17.0.150:8080

vi Dockerfile
# 작성한 내용
FROM centos:centos7.9.2009
# Build
docker image build -t test:1.0 /root/docker/


#
vi /root/docker/ubuntu_nginx
# 작성한 내용
FROM ubuntu:latest # 기반 이미지
RUN apt update && apt install -y -q nginx # 이미지 빌드할 때 엔진엑스를 설치한다.
CMD ["nginx", "-g", "daemon off;"] # 컨테이너를 실행할 때 자동으로 실행하도록 하는 것
# 명령어
docker image build -t my_web:1.0 -f /root/docker/ubuntu_nginx
-f : 이름이 Dockfile이 아닌 경우에 불러 오려면 붙이는 옵션



echo my_web:2.0 > index.html
cat index.html
docker container run --name web_02 -d -p 8081:80 my_web:2.0



# 필요없는 것은 지우고 다시 빌드
docker image build -t my_web:2.0 -f ubuntu_nginx .
# 컨테이너 재실행
docker container run --name web_02 -d -p 8081:80 my_web:2.0


Dockerfile
FROM ubuntu:latest
RUN apt update && apt install -y -q nginx
COPY my_config.conf /etc/nginx/conf.d/
CMD ["nginx", "-g", "daemon off;"]
html/hello.html
Hello world!
my_config.conf
server {
listen 8080;
server_name localhost;
location /hello {
root /usr/share/nginx/html;
index hello.html;
try_files $uri $uri/ /hello.html;
}
}
# 이미지 빌드
docker image build -t hello_web:1.0 .
# 마운트 적용하여 실행
docker container run --name hell_web01 -d -p 80:8080 -v /root/webapp/html:/usr/share/nginx/html hello_web:1.0
# 이미지 접속하여 /bin/bash 실행
docker container exec -it hell_web01 /bin/bash
# confifgure 경로 확인(컨테이너 내부)
cat /etc/nginx/conf.d/my_config.html
# hello.html 확인
cat /usr/share/nginx/html/hello.html


# Dockerfile
FROM ubuntu:latest
RUN apt update && apt install -y -q nginx
COPY my_config.conf /etc/nginx/conf.d/my_nginx.conf
VOLUME ["/usr/share/nginx/html"]
EXPOSE 8080
CMD ["nginx", "-g", "daemon off;"]
docker container run --name exam -d -p 80:8080 -v ~/html:/usr/share/nginx/html exam:1.0