docker 快速上手

2022-05-30 06:01:44

Docker 屬於 Linux 容器的一種封裝,提供簡單易用的容器使用介面

安裝 docker

設定倉庫

$ sudo yum install -y yum-utils

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 增加阿里源
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安裝

  1. Install the latest version of Docker Engine, containerd, and Docker Compose or go to the next step to install a specific version:

    $ sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
    

    If prompted to accept the GPG key, verify that the fingerprint matches 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, and if so, accept it.

    安裝指定版本

    $ yum list docker-ce --showduplicates | sort -r
    
    docker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stable
    docker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stable
    docker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stable
    docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable
    
    $ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io docker-compose-plugin
    
  2. Start Docker.

    $ sudo systemctl start docker
    
  3. Verify that Docker Engine is installed correctly by running the hello-world image.

    $ sudo docker run hello-world
    

    This command downloads a test

  4. 避免每次輸入sudo, 可以把使用者加入docker使用者組

    1、輸入
    $ sudo groupadd docker
    顯示groupadd: group 'docker' already exists
    
    2、將docker賬戶給與許可權
    sudo gpasswd -a <使用者名稱> docker
    例如: sudo gpasswd -a xiangyuan docker
    
    3、重啟docker
    sudo service docker restart
    
    4、重新整理docker成員
    newgrp - docker
    

驗證

docker version
docker info

官方檔案 https://docs.docker.com/engine/install/centos/

https://www.runoob.com/docker/centos-docker-install.html

docker 使用

三個核心部件

  • dockerfile
  • image
  • container

image

# 列出本機的所有 image 檔案。
$ docker image ls

# 刪除 image 檔案
$ docker image rm [imageName]

container

# 列出本機正在執行的容器
$ docker container ls

# 列出本機所有容器,包括終止執行的容器
$ docker container ls --all

#新建容器,每執行一次,就會新建一個容器。同樣的命令執行兩次,就會生成兩個一模一樣的容器檔案
$ docker container run hello-world 

# 命令,它用來啟動已經生成、已經停止執行的容器檔案。
$ docker container start

# 強行終止
$ docker container kill

$ docker container rm [containerID]

# 檢視 docker 容器的輸出,即容器裡面 Shell 的標準輸出
$ docker container logs [containerID]

Dockerfile

Dockerfile 檔案。它是一個文字檔案,用來設定 image。Docker 根據 該檔案生成二進位制的 image 檔案

docker image build  -t koa-demo:0.0.1 .  # 命令建立 image 檔案

# -t引數用來指定 image 檔案的名字,後面還可以用冒號指定標籤。如果不指定,預設的標籤就是latest。最後的那個點表示 Dockerfile 檔案所在的路徑,上例是當前路徑,所以是一個點。