Docker console 명령어를 알아보자!

Karim·2022년 3월 7일
7

Docker 운영

목록 보기
4/4
post-thumbnail

1. Docker 관련

💡 docker 관련 command

✒️ 도커 정보 확인

docker info [찾을 이미지]

💻

[root@node1 docker_res]# docker info
Client:
 Debug Mode: false

Server:
 Containers: 34
  Running: 22
  Paused: 0
  Stopped: 12
 Images: 114
 Server Version: 19.03.12
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Native Overlay Diff: true
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
 Swarm: inactive
 Runtimes: runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: 7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc version: dc9208a3303feef5b3839f4323d9beb36df0a9dd
 init version: fec3683
 Security Options:
  seccomp
   Profile: default
 Kernel Version: 3.10.0-1160.45.1.el7.x86_64
 Operating System: CentOS Linux 7 (Core)
 OSType: linux
 Architecture: x86_64
 CPUs: 24
 Total Memory: 251.7GiB
 Name: node1
 ID: LOVO:SNVR:OPD4:YPFA:4JQQ:4NBR:2GMQ:NORK:YEUU:BSYB:RCPP:FL33
 Docker Root Dir: /home/docker_res
 Debug Mode: false
 Username: dfinder
 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false

2. Docker image 관련

image

  • 컨테이너 실행에 필요한 파일설정 값등을 포함하고 있는 변하지 않는 상태

💡 image 관련 command

✒️ 이미지 검색

docker search [찾을 이미지]

💻

[root@node1 docker_res]# docker search centos
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
centos                            The official build of CentOS.                   7059                [OK]
centos/systemd                    systemd enabled base container.                 105                                     [OK]
centos/mysql-57-centos7           MySQL 5.7 SQL database server                   92
centos/postgresql-96-centos7      PostgreSQL is an advanced Object-Relational …   45
centos/httpd-24-centos7           Platform for running Apache httpd 2.4 or bui…   43
centos/python-35-centos7          Platform for building and running Python 3.5…   39
centos/php-56-centos7             Platform for building and running PHP 5.6 ap…   34
centos/mysql-56-centos7           MySQL 5.6 SQL database server                   22
centos/postgresql-10-centos7      PostgreSQL is an advanced Object-Relational …   19
centos/python-27-centos7          Platform for building and running Python 2.7…   17
centos/nginx-112-centos7          Platform for running nginx 1.12 or building …   16
kasmweb/centos-7-desktop          CentOS 7 desktop for Kasm Workspaces            16
centos/nginx-18-centos7           Platform for running nginx 1.8 or building n…   13
centos/mariadb-101-centos7        MariaDB 10.1 SQL database server                12
centos/mongodb-36-centos7         MongoDB NoSQL database server                   8
centos/mariadb-102-centos7        MariaDB 10.2 SQL database server                6
centos/redis-32-centos7           Redis in-memory data structure store, used a…   6
centos/ruby-25-centos7            Platform for building and running Ruby 2.5 a…   3
centos/mongodb-34-centos7         MongoDB NoSQL database server                   3
kasmweb/core-centos-7             CentOS 7 base image for Kasm Workspaces         1
bitnami/centos-base-buildpack     Centos base compilation image                   0                                       [OK]
ibmcom/fhe-toolkit-centos-amd64   The IBM Fully Homomorphic Encryption (FHE) T…   0
datadog/centos-i386                                                               0
ibmcom/fhe-toolkit-centos         The IBM Fully Homomorphic Encryption (FHE) T…   0
bitnami/centos-extras-base                                                        0

✒️ 이미지 다운로드

tag 없을 시 latest로 다운받아 진다.!

docker pull [이미지 이름]:[TAG]

💻

[root@node1 docker_res]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest

✒️ 이미지 list 확인

docker images

💻

[root@node1 docker_res]# docker images
REPOSITORY                            TAG                 IMAGE ID            CREATED             SIZE
mysql                                 8.0.28              17b062d639f4        2 weeks ago         519MB
jenkins/jenkins                       2.280               10e33bea4cd2        12 months ago       573MB
centos                                latest              300e315adb2f        15 months ago       209MB
nginx                                 latest              9beeba249f3e        22 months ago       127MB

✒️ 특정 이미지 스펙 확인

docker inspect [이미지 이름]:[TAG]

💻

[root@node1 docker_res]# docker inspect centos:latest
[
    {
        "Id": "sha256:5d0da3dc976460b72c77d94c8a1ad043720b0416bfc16c52c45d4847e53fadb6",
        "RepoTags": [
            "centos:latest"
"/home/docker_res/overlay2/86413cc748f49f19eb1373f0f8ab9d3b02cb4627c35051aff89f853606b59"
.
.
.
            ]
        },
        "Metadata": {
            "LastTagTime": "0001-01-01T00:00:00Z"
        }
    }
]

✒️ 이미지 삭제

docker rmi [이미지 이름]

💻

[root@node1 docker_res]# docker rmi 2a287412dfc3
Untagged: centos/centos:latest
Untagged: dfinder/dfinder@sha256:5755f17dcb395d310aba001ead449dc0c8e1d9f3582ceca60be29e775be8be4f
Deleted: sha256:2a287412dfc34e6adbdeee2be700f2c174f1554bceae637c7a9936f9b9be7298
Deleted: sha256:646917a697171e6a92294e2485be533635d12134d9f71b7756e8b8097997de43

3. Docker Container 관련

container

  • 이미지의 실행 가능인스턴스

💡 container 관련 command

✒️ 컨테이너 생성 전 볼륨 생성

docker volume create [볼륨 이름]

💻

[root@node1 docker_res]# docker volume create karimOs
karimOs

✒️ 컨테이너 생성

docker create --net host --name [컨테이너 이름] -v [생성한 볼륨 이름]:[컨테이너 안 마운트 될 디렉토리] [이미지 이름]

✒️ 컨테이너 생성 및 실행

docker run -d --net host --name [컨테이너 이름] -v [생성한 볼륨 이름]:[컨테이너 안 마운트 될 디렉토리] [이미지 이름]/[이미지]:[TAG]

docker run --privileged -it -d --net host --name [컨테이너 이름] -v [생성한 볼륨 이름]:[컨테이너 안 마운트 될 디렉토리] [이미지 이름]/[이미지]:[TAG]

📝 옵션 설명

옵션설명
-d백그라운드 모드
-p포트 포워딩 ex) -p [외부 port]:[내부 port]
--net포트포워딩이 아닐 시 docker network 지정
-name컨테이너 이름 설정
-e컨테이너 실행 시 사용할 환경변수 설정 ex) -e IGNITE_WORK_DIR=/storage -e CONFIG_URI=/storage/config-file.xml

💻

[root@node1 docker_res]# docker run -d --net host --name KarimTestOs -v karimOs:/data centos:latest
d85dc39c1cc4c4dc2314539bdcf42f107444dc83e213df115896d1d1be184597

✒️ 컨테이너 시작

docker start [컨테이너 이름 or id]

✒️ 컨테이너 재 시작

docker restart [컨테이너 이름 or id]

✒️ 컨테이너 중지

docker stop [컨테이너 이름 or id]

✒️ 컨테이너 삭제

실행중이지 않은 컨테이너만 삭제 가능합니다.

docker rm [컨테이너 이름 or id]

✒️ 컨테이너 접속

  • it : 실행된 Bash shell에 입력 및 출력을 할 수 있다.
  • bin/bash : centos 이미지 안의 /bin/bash를 실행

docker exec -it [컨테이너 이름 or id] /bin/bash

4. Docker Container Backup 및 Image Create

backup

  • 실행 중인 컨테이너현재 상태백업이미지생성이 가능하다.

💡 container backup 관련 command

✒️ 실행중인 컨테이너를 이미지로 만들기

docker commit -p [컨테이너 이름] 생성할 이미지명:[TAG]

✒️ 생성 된 이미지를 tar로 추출

docker save -o [백업할 파일 명].tar [이미지ID]

💡 image 관련 command

✒️ 생성 된 tar를 이미지로 load

docker load -i [백업할 파일 명].tar


📌 여담

  • 볼륨을 잘 지정해 놓아야 편하징

📚 참고

profile
나도 보기 위해 정리해 놓은 벨로그

0개의 댓글