#20230523(docker

eeapbh·2023년 5월 24일
0

MZC

목록 보기
46/61

센토스 도커 설치(Docker CE; Community Edition 무료 오픈 소스, EE; Enterprise Edition 유료, 보안 관련 취약점 점검 서비스 제공)

# curl -fsSL https://get.docker.com/ | sh
# yum -y install bash-completion wget unzip mysql
# curl https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/bash/docker -o /etc/bash_completion.d/docker.sh
# systemctl enable --now docker
  • 도커설치
    curl을 사용하여 Docker 설치 스크립트를 다운로드하고, sh 명령어를 사용하여 스크립트를 실행하여 Docker를 설치합니다.

  • 필수 패키지 설치
    yum을 사용하여 필요한 패키지들을 설치합니다. 여기서는 bash-completion, wget, unzip, mysql 패키지를 설치하고 있습니다.

  • Docker Bash 자동완성 설정
    curl을 사용하여 Docker의 Bash 자동완성 스크립트를 다운로드하여 /etc/bash_completion.d/docker.sh 파일로 저장합니다. 이렇게 하면 Docker 관련 명령어를 사용할 때 Bash 자동완성 기능을 사용할 수 있습니다.

  • Docker 서비스 활성화
    systemctl을 사용하여 Docker 서비스를 활성화하고, 시스템 부팅 시 자동으로 Docker 서비스가 시작되도록 설정합니다.

이러한 명령어들은 Docker를 쉽게 설치하고 구성하기 위한 명령어들로, Docker를 사용할 준비를 마친 후 Docker 명령어를 사용할 수 있게 됩니다.

우분투 도커 설치

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
$ sudo apt update
$ sudo apt-cache policy docker-ce
$ sudo apt install docker-ce -y

docker container run -d -p 8282:80 --cpu
docker container run -d -p 8282:80 --cpus 1 --memory 256m -v /tmp:usr/share/nginx/html -name volume-container nginx
  • extied= 뒤에있는 숫자에따라 보여줌
# docker search nginx
# docker image pull nginx
# docker image ls
# docker image inspect --format="{{ .Os}}" nginx
# docker container create -p 80:80 --name webserver nginx
# docker container start webserver
# docker container stop webserver
# docker container start webserver
# docker container rm -f webserver
# docker container run -p 80:80 --name webserver nginx # foreground 실행
# docker container run -d -p 80:80 --name webserver nginx # background 실행
# docker container run --name test_cal centos /bin/cal
# docker container run -it --name test_bash centos /bin/bash
# docker container run -it --name test_bash7 centos:7 /bin/bash
# docker container run --rm -it --name test_mysql mysql /bin/mysql -h 192.168.0.102 -u wpuser -p // rm
사용끝나면 지워짐

# docker container run -d --name test_ping centos /bin/ping localhost //
# docker container logs -t test_ping
# docker container run -d -p 8080:80 --name test_port nginx
# docker container stats nginx
# docker container run -d -p 8181:80 --cpus 1 --memory=256m --name test_resource nginx
# docker container run -d -p 8282:80 --cpus 1 --memory=256m -v /tmp:/usr/share/nginx/html --name volume-container nginx 

# docker container ls
# docker container ls -a
# docker container ls -a -f name=test_webserver  
# docker container ls -a -f exited=0
# docker container ls -a --format "table {{.Names}}\t{{.Status}}"
# docker container attach test_bash
[root@1689b6318c35 /]# ctrl + p, ctrl +q 를 입력
# docker container ls
# docker container exec -it test_port /bin/echo "Hello world" //exec명령어를 훨씬 많이 씀 , 쿠버네티스에서도 씀, openshift에도 exec명령어 잇음
# docker container exec -it test_port /bin/bash
# docker container top test_port
# docker container port test_port
# docker container rename test_port webserver
# docker container cp webserver:/usr/share/nginx/html/index.html /root/index.html
# docker container cp ./index.html webserver:/usr/share/nginx/html/index.html
# docker container diff webserver
# docker container cp /tmp/index.html test_commit_web:/usr/share/nginx/html
# docker container cp /tmp/images test_commit_web:/usr/share/nginx/html
# docker container commit -a "bonghyeon<test@example.com>" -m "NICE TO MEET YOU" webserver test_commit:v1.0
# docker image ls
# docker image inspect test_commit:v1.0
# docker image inspect test_commit:v1.0 | grep Author
# docker image save -o test_commit.tar test_commit:v1.0
# docker image load -i test_commit.tar
# docker container prune //현재 사용되고 있지 않은 컨테이너를 지울때
# docker image ls
# docker container run -d -p 80:80 --name webserver test_commit:v1.0
# docker network ls
# docker network ls -q --filter driver=bridge
# docker network create -d bridge --subnet 10.50.0.0/16 --ip-range 10.50.0.0/24 test_bridge
# docker network rm test_bridge
# docker network connect test_bridge webserver
# docker container inspect webserver
# docker network disconnect test_bridge2 webserver
# docker container run -d -p 8080:80 --name webserver1 --network test_bridge test_commit:v1.0
# docker network inspect test_bridge

--- 우분투 도커 설치

$ sudo apt update
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common
$ sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"
$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable"
$ sudo apt update
$ sudo apt-cache policy docker-ce
$ sudo apt install docker-ce -y


sudo usermod -a -G docker ubuntu 
# ubuntu를 docker그룹에 추가해서 권한줌

centos root@docker

scp test_commit.tar ubuntu@192.168.1.198:/home/ubuntu

ubuntu

docker

docker network create -d bridge --subnet 10.58.0.0/16 --ip-range 10.58.0.0/24 test_bridge

내가 만든 test_bridge랑 연결

# docker network connect test_bridge webserver
# docker inspect webserver
# docker network disconnect bridge webserver

`docker container prune 명령어는 사용하지 않는 도커 컨테이너를 제거하는 명령어. 실행하면 다음과 같은 작업이 수행됨:

  1. 실행 중이지 않은 모든 도커 컨테이너를 확인합니다.
  2. 중지된 컨테이너들과 관련된 모든 리소스를 제거합니다. 이에는 컨테이너의 파일 시스템, 네트워크 설정, 볼륨, 로그 파일 등이 포함됩니다.
  3. 제거된 컨테이너들은 복구할 수 없습니다. 따라서 신중하게 사용해야 합니다.

0개의 댓글