1. 程式人生 > 實用技巧 >docker環境安裝,映象和容器常用命令

docker環境安裝,映象和容器常用命令

1 docker環境安裝

1.1 安裝yum-utils

 yum install -y yum-utils device-mapper-persistent-data lvm2

1.2 為yum源新增docker倉庫位置

 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

1.3 安裝docker

 yum install docker-ce

1.4 啟動docker

 systemctl start docker      

2 docker映象常用命令

2.1 搜尋映象

 docker search mysql

2.2 查詢映象支援的版本

進入docker hub的官網,地址為:https://hub.docker.com,然後搜尋需要的映象

2.3 下載映象

 docker pull mysql:5.7

2.4 列出映象

 docker images

2.5 刪除映象

  • 指定名稱刪除映象:

     docker rmi mysql:5.7
  • 指定名稱刪除映象(強制):

     docker rmi -f mysql:5.7
  • 刪除所有沒有引用的映象

     docker rmi  $(docker images | grep none | awk '{print $3}')
  • 強制刪除所有的映象

     docker rmi -f $(docker images)

3 Docker容器常用命令

3.1 新建並啟動容器

docker run -p 3306:3306 --name mysql -d mysql:5.7
  • 引數解釋

    -p 指定埠對映,格式為:hostPort:containerPort

    --name選項:指定執行後容器的名字為mysql,之後可以通過名字來操作容器

    -d 表示後臺執行

3.2 列出執行中的容器

 docker ps 

3.3 列出所有的容器

 docker ps -a

3.4 停止容器

 docker stop containerName(containerId)

例如:docker stop mysql or docker stop b417ac5a44b0

3.5 強制停止所有的容器

 docker kill containerName(containerId) 

例如:docker kill mysql or docker kill b417ac5a44b0

3.6 啟動停止的容器

 docker start containerName(container)

例如:docker start mysql docker start b417ac5a44b0

3.7 進入容器

  • 先查詢出容器的pid

     docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)
    • 根據容器的pid進入容器

       nsenter --target 11239  --mount --uts --ipc --net --pid

3.8 刪除容器

  • 刪除指定容器

     docker rm $ContainerName(或者$ContainerId)
  • 按名稱刪除容器

     docker rm `docker ps -a | grep mysql* | awk '{print $1}'`
  • 強制刪除所有的容器

     docker rm -f $(docker ps -a -q)

3.9 檢視容器的日誌

  • 檢視當前容器日誌

     docker logs containerName(containerId)
  • 動態檢視當前容器日誌

     docker logs containerName(containerId) -f

4.0 檢視容器的ip地址

 docker inspect --format '{{ .NetworkSettings.IPAddress }}'  containerName(containerId)

4.1 修改容器的啟動方法

 docker container update --restart=always $ContainerName

4.2 啟動容器時指定時區

 docker run -p 80:80 --name nginx \ -e TZ="Asia/Shanghai" \ -d nginx:1.17.0

4.3 在宿主機檢視docker容器 cpu,記憶體,網路,io使用情況

  • 檢視指定容器情況

     docker stats  containerName(containerId)
    • 檢視所有容器情況
 docker stats -a
  • 檢視docker 磁碟使用情況

     docker system df

4.4 進入docker容器內部的bash

 docker exec -it $ContainerName /bin/bash
  • 使用root賬戶進入docker容器內部的bash

     docker exec -it --user root $ContainerName /bin/bash

4.5 建立外部網路

 docker network create -d bridge my-bridge-network

4.6 修改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