docker入門

菜小七發表於2024-04-30

docker的安裝

安裝Docker的步驟取決於您的作業系統。以下是在不同作業系統中安裝Docker的簡要步驟和示例程式碼:

Ubuntu

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

Debian

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

CentOS

sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io
# 檢視是否安裝成功,若成功則顯示版本號
docker -v

Windows

  • 訪問Docker官方網站下載Docker Desktop安裝程式:https://www.docker.com/products/docker-desktop
  • 執行安裝程式,按照嚮導操作完成安裝

macOS

  • 訪問Docker官方網站下載Docker Desktop安裝程式:https://www.docker.com/products/docker-desktop
  • 執行安裝程式,按照嚮導操作完成安裝

檢查Docker是否正確安裝

執行hello-world映象來測試Docker是否正確安裝:

sudo docker run hello-world

如果安裝成功,您將看到一條訊息表明您的Docker安裝正常執行。

啟動Docker服務

在所有平臺上,安裝完成後,啟動Docker服務:

sudo systemctl start docker
sudo systemctl enable docker

檢視Docker服務的狀態

systemctl status docker

設定Docker服務開啟自啟動

systemctl enable docker

重啟Docker服務

systemctl restart docker

Docker常用命令

# docker下載映象,如下載es映象
docker pull elasticsearch:7.12.1
# 透過docker使用映象,建立一個容器,以es為例
docker run -d --name es -p 92xx:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.1
# 檢視所有Docker容器資訊,返回容器ID或名稱等
docker ps -a
# 進入某個docker容器(可使用ls檢視容器中檔案)
docker exec -it <容器ID或名稱> /bin/bash
# 退出容器,需要輸入以下命令並回車
exit
# 啟動某個容器,並且配置好容器中的埠對映到宿主機的埠,如
# 建立es的容器 並啟動  single-node單機 
# docker run指定容器中的某埠對映到宿主機的某埠的命令是:docker run -p <宿主機埠>:<容器內部埠> <映象名稱>
docker run -d --name es -p 9211:9211 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.12.1
# 重啟容器
docker restart <容器ID或名稱>
# 根據所獲得的容器ID或名詞,關閉容器
docker stop <容器ID或名稱>
# 如果你想充分停止和刪除容器,可以使用docker rm命令,以刪除容器資源,這樣會清除所有資料
docker rm <容器ID或名稱>
# 如果你想保留舊容器的資料,可以在啟動新容器時指定一個新的名稱。-d表示後臺執行,--name用於指定新的容器名稱
docker start -d --name new_container_name old_container_name
# 列出已下載的映象
docker images
# 徹底刪除映象,根據上條命令返回找到映象的倉庫(REPOSITORY)和標籤(TAG)
docker rmi <image-name>:<tag>
# 檢視容器日誌,即使<容器ID或名稱>沒有啟動也可以用容器名稱檢視
docker logs <容器ID或名稱>

怎麼修改docker中的檔案

  • 以修改docker中elasticsearch的配置檔案為例

    • 進入docker容器查詢elasticsearch.yml配置檔案,並修改

      # 查詢es容器id
      docker ps -a
      # 進入docker容器(容器是執行的狀態)
      docker exec -it <容器ID或名稱> /bin/bash
      # 使用vi進入檔案,按i編輯檔案,按Esc退出編輯並:wq儲存   http.port: 92xx 是埠號配置項
      vi config/elasticsearch.yml
      # 退出容器
      exit
      # 重啟容器
      docker restart <容器ID或名稱>
      
    • 直接在宿主機查詢elasticsearch.yml配置檔案,並修改

      # 直接在宿主機查詢elasticsearch.yml配置檔案
      find / -name elasticsearch.yml 2>/dev/null
      # 使用vi進入檔案,按i編輯檔案,按Esc退出編輯並:wq儲存   http.port: 92xx 是埠號配置項
      vi config/elasticsearch.yml
      # 重啟容器
      docker restart <容器ID或名稱>
      
  • 以修改docker中kibana的配置檔案為例

    要修改Docker容器中Kibana的配置,你可以透過以下步驟進行:

    1. 找到Kibana的配置檔案kibana.yml所在的宿主機路徑。
    2. 在宿主機上修改kibana.yml檔案。
    3. 重新啟動Docker容器。

    以下是一個示例流程:

    1. 找到Kibana的配置檔案路徑。首先,你需要找到Kibana Docker容器的ID或名稱:

      docker ps
      
    2. 使用docker exec命令進入容器並找到配置檔案的實際路徑:

      docker exec -it <container_id_or_name> /bin/bash
      cat /usr/share/kibana/config/kibana.yml
      
    3. 使用exit命令退出容器,並在宿主機上找到該配置檔案路徑,然後編輯kibana.yml檔案。例如,如果你使用的是預設配置,可以直接修改宿主機上的/usr/share/kibana/config/kibana.yml檔案。

    4. 修改完成後,重新啟動Kibana容器:

      docker restart <container_id_or_name>
      

      如果你想要在啟動容器時就指定配置檔案,可以使用Docker掛載卷的方式將宿主機上的配置檔案掛載到容器中對應的路徑上。例如:

      docker run -d -v /path/to/your/kibana.yml:/usr/share/kibana/config/kibana.yml kibana:latest
      

      這樣,啟動的Kibana容器就會使用你宿主機上的配置檔案。

相關文章