開發者必備Docker命令

摘要

本文主要講解Docker環境的安裝以及Docker經常使用命令的使用,掌握這些對Docker環境下應用的部署具備很大幫助。java

Docker 簡介

Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的鏡像中,而後發佈到任何流行的 Linux或Windows機器上。使用Docker能夠更方便低打包、測試以及部署應用程序。linux

Docker 環境安裝

  • 安裝yum-utils:
yum install -y yum-utils device-mapper-persistent-data lvm2
複製代碼
  • 爲yum源添加docker倉庫位置:
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
複製代碼
  • 安裝docker:
yum install docker-ce
複製代碼
  • 啓動docker:
systemctl start docker
複製代碼

Docker 鏡像經常使用命令

搜索鏡像

docker search java
複製代碼

展現圖片

下載鏡像

docker pull java:8
複製代碼

如何查找鏡像支持的版本

因爲docker search命令只能查找出是否有該鏡像,不能找到該鏡像支持的版本,因此咱們須要經過docker hub來搜索支持的版本。nginx

  • 進入docker hub的官網,地址:hub.docker.comdocker

  • 而後搜索須要的鏡像: shell

    展現圖片

  • 查看鏡像支持的版本: centos

    展現圖片

  • 進行鏡像的下載操做:bash

docker pull nginx:1.17.0
複製代碼

列出鏡像

docker images
複製代碼

展現圖片

刪除鏡像

  • 指定名稱刪除鏡像
docker rmi java:8
複製代碼
  • 指定名稱刪除鏡像(強制)
docker rmi -f java:8
複製代碼
  • 強制刪除全部鏡像
docker rmi -f $(docker images)
複製代碼

Docker 容器經常使用命令

新建並啓動容器

docker run -p 80:80 --name nginx -d nginx:1.17.0
複製代碼
  • -d選項:表示後臺運行
  • --name選項:指定運行後容器的名字爲nginx,以後能夠經過名字來操做容器
  • -p選項:指定端口映射,格式爲:hostPort:containerPort

列出容器

  • 列出運行中的容器:
docker ps
複製代碼

展現圖片

  • 列出全部容器
docker ps -a
複製代碼

展現圖片

中止容器

# $ContainerName$ContainerId能夠用docker ps命令查詢出來
docker stop $ContainerName(或者$ContainerId)
複製代碼

好比:網絡

docker stop nginx
#或者
docker stop c5f5d5125587
複製代碼

強制中止容器

docker kill $ContainerName(或者$ContainerId)
複製代碼

啓動已中止的容器

docker start $ContainerName(或者$ContainerId)
複製代碼

進入容器

  • 先查詢出容器的pid:
docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)
複製代碼
  • 根據容器的pid進入容器:
nsenter --target "$pid" --mount --uts --ipc --net --pid
複製代碼

展現圖片

刪除容器

  • 刪除指定容器:
docker rm $ContainerName(或者$ContainerId)
複製代碼
  • 強制刪除全部容器;
docker rm -f $(docker ps -a -q)
複製代碼

查看容器的日誌

docker logs $ContainerName(或者$ContainerId)
複製代碼

展現圖片

查看容器的IP地址

docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName(或者$ContainerId)
複製代碼

展現圖片

同步宿主機時間到容器

docker cp /etc/localtime $ContainerName(或者$ContainerId):/etc/
複製代碼

在宿主機查看docker使用cpu、內存、網絡、io狀況

  • 查看指定容器狀況:
docker stats $ContainerName(或者$ContainerId)
複製代碼

展現圖片

  • 查看全部容器狀況:
docker stats -a
複製代碼

展現圖片

進入Docker容器內部的bash

docker exec -it $ContainerName /bin/bash
複製代碼

展現圖片

修改Docker鏡像的存放位置

  • 查看Docker鏡像的存放位置:
docker info | grep "Docker Root Dir"
複製代碼

展現圖片

  • 關閉Docker服務:
systemctl stop docker
複製代碼
  • 移動目錄到目標路徑:
mv /var/lib/docker /mydata/docker
複製代碼
  • 創建軟鏈接:
ln -s /mydata/docker /var/lib/docker
複製代碼

展現圖片

展現圖片

公衆號

mall項目全套學習教程連載中,關注公衆號第一時間獲取。app

公衆號圖片
相關文章
相關標籤/搜索