docker 默認鏡像修改-Ubuntu


Docker在默認安裝之后,通過命令docker pull 拉取鏡像時,默認訪問docker hub上的鏡像,在國內網絡環境下,下載時間較久,所以要配置國內鏡像倉庫。

修改方式如下:

第一步:新建或編輯daemon.json
vi /etc/docker/daemon.json
 
第二步:daemon.json中編輯如下
{
    "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
 
第三步:重啟docker
systemctl restart docker.service
 
第四步:執行docker info查看是否修改成功
docker info

 

 

1.網易
http://hub-mirror.c.163.com
2.Docker中國區官方鏡像
https://registry.docker-cn.com
3.中國科技大學
https://docker.mirrors.ustc.edu.cn
4.阿里雲容器  服務
https://cr.console.aliyun.com/
首頁點擊“創建我的容器鏡像”  得到一個專屬的鏡像加速地址,類似於“https://1234abcd.mirror.aliyuncs.com”

 

 

1.配置國內鏡像源

Docker在默認安裝之后,通過命令docker pull 拉取鏡像時,默認訪問docker hub上的鏡像,在國內網絡環境下,下載時間較久,所以要配置國內鏡像倉庫。

修改方式如下:

  1.  
    第一步:新建或編輯daemon.json
  2.  
    vi /etc/docker/daemon.json
  3.  
     
  4.  
    第二步:daemon.json中編輯如下
  5.  
    {
  6.  
    "registry-mirrors": [ "http://hub-mirror.c.163.com"]
  7.  
    }
  8.  
     
  9.  
    第三步:重啟docker
  10.  
    systemctl restart docker.service
  11.  
     
  12.  
    第四步:執行docker info查看是否修改成功
  13.  
    docker info

國內的加速地址如下:

  1.  
    1.網易
  2.  
    http: //hub-mirror.c.163.com
  3.  
    2.Docker中國區官方鏡像
  4.  
    https: //registry.docker-cn.com
  5.  
    3.中國科技大學
  6.  
    https: //docker.mirrors.ustc.edu.cn
  7.  
    4.阿里雲容器 服務
  8.  
    https: //cr.console.aliyun.com/
  9.  
    首頁點擊“創建我的容器鏡像” 得到一個專屬的鏡像加速地址,類似於“ https: //1234abcd.mirror.aliyuncs.com”

 

2.常用命令

2.1幫助命令

  • docker version:顯示Docker的版本信息;
  • docker info:顯示Docker系統信息,包括鏡像和容器數;
  • docker --help:幫助命令

2.2鏡像命令

2.2.1本地鏡像管理

  • docker images:列出本地鏡像
  1.  
    docker images [參數]
  2.  
    參數說明:
  3.  
    -a:列出本地所有鏡像(含中間映像層)
  4.  
    -q:只顯示鏡像ID
  • docker rmi:刪除本地鏡像
  1.  
    docker rmi [參數] [鏡像名或鏡像名列表]
  2.  
    參數說明:
  3.  
    -f: 強制刪除
  4.  
    舉例:
  5.  
    docker rmi -f tomcat hello-world(刪除tomcat和hello-world,不帶TAG默認為latest)
  6.  
    docker rmi -f $(docker images -qa) 刪除所有鏡像

2.2.2遠程倉庫

  • docker search:從Docker Hub查找鏡像
  1.  
    docker search [參數] 鏡像名
  2.  
    參數說明:
  3.  
    -s:列出收藏數不小於指定值的鏡像;
  4.  
    --automated:只列出automated build類型的鏡像。
  5.  
    舉例:
  6.  
    docker search -s 10 nginx
  • docker pull:從鏡像倉庫拉取或更新指定鏡像
  1.  
    docker pull [參數] 鏡像名[:TAG]
  2.  
    參數說明:
  3.  
    -a: 拉取所有鏡像
  4.  
    舉例:
  5.  
    docker pull nginx
  6.  
    docker pull -a nginx (從Docker Hub下載REPOSITORY為nginx的所有鏡像)
  • 上傳鏡像

將本地鏡像上傳到阿里雲為例。

  1.  
    1.配置阿里雲的鏡像加速器,前面已介紹;
  2.  
     
  3.  
    2.命令行登錄到阿里雲的doker倉庫,--username為阿里雲的用戶名
  4.  
    docker login --username=houpengkun registry.cn-hangzhou.aliyuncs.com
  5.  
     
  6.  
    3.為本地鏡像添加tag,houpk為命名空間
  7.  
    docker tag f 4ec 85e 8298f registry.cn-hangzhou.aliyuncs.com/houpk/mynginx: 0. 1
  8.  
     
  9.  
    4.push到docker倉庫
  10.  
    docker push registry.cn-hangzhou.aliyuncs.com/houpk/mynginx: 0. 1
  11.  
     
  12.  
    5.登錄阿里雲查看已上傳的鏡像列表:https://cr.console.aliyun.com/#/imageList

2.2.3容器操作命令

  • docker ps:列出正在運行的容器
  1.  
    docker ps [參數]
  2.  
    參數說明:
  3.  
    - a:顯示所有容器,包括未運行的
  4.  
    - q:只顯示容器編號
  • docker run :創建一個新的容器並運行一個命令
  1.  
    docker run [參數] 鏡像名/ID [命令] [命令參數...]
  2.  
    參數說明:
  3.  
    - i:以交互模式運行容器,通常與 -t 同時使用;
  4.  
    - t:為容器重新分配一個偽輸入終端;
  5.  
    --name= "my":為容器指定一個名稱;
  6.  
    - p:指定端口映射,格式為:主機(宿主)端口:容器端口;
  7.  
    - P:隨機端口映射,容器內部端口隨機映射到主機的高端口;
  8.  
    - d:后台運行容器;
  9.  
    舉例:
  10.  
    docker run -it nginx:latest /bin/bash
  11.  
    docker run -p 8080: 8080 tomcat
  • 退出容器(以it的方式運行)
  1.  
    方式一: exit
  2.  
    退出docker,同時docker容器停止運行;
  3.  
    方式二:ctrl+p+q
  4.  
    退出docker,docker容器繼續運行。
  • docker start/stop/restart
  1.  
    docker start 容器 ID [容器ID...] : 啟動容器
  2.  
    docker stop 容器 ID [容器ID...] : 停止容器
  3.  
    docker restart 容器 ID [容器ID...] : 重啟容器
  4.  
    以上操作都要建立在容器已經創建的基礎上,也就是執行了docker run命令
  • docker exec:在運行的容器中執行命令
  1.  
    docker exec [參數] 容器id 命令 [命令參數...]
  2.  
    參數說明:
  3.  
    - d:在后台運行;
  4.  
    - i:交互式;
  5.  
    - t:分配終端;
  6.  
    舉例:
  7.  
    docker exec -it mynginx /bin/bash
  • docker kill :殺掉一個運行中的容器
  1.  
    docker kill [參數] 容器 [容器...]
  2.  
    參數說明:
  3.  
    -s:向容器發送一個信號
  4.  
    舉例:
  5.  
    docker kill -s KILL mynginx
  • docker rm:刪除容器
  1.  
    docker rm [參數] 容器 [容器...]
  2.  
    參數說明:
  3.  
    -f: 強制刪除
  4.  
    舉例:
  5.  
    docker rm -f mynginx
  6.  
    docker rm $(docker ps -aq)
  • docker logs:獲取容器的日志
  1.  
    docker logs [參數] 容器
  2.  
    參數說明:
  3.  
    -t:顯示時間戳;
  4.  
    -f:跟蹤日志輸出;
  5.  
    --tail:僅列出最新N條容器日志
  6.  
    舉例:
  7.  
    跟蹤查看容器mynginx的日志輸出
  8.  
    docker logs -f mynginx
  9.  
    查看容器mynginx從2016年7月1日后的最新10條日志
  10.  
    docker logs --since="2016-07-01" --tail=10 mynginx
  • docker top :查看容器中運行的進程信息
  1.  
    docker top 鏡像
  2.  
    舉例:
  3.  
    docker top mynginx
  • docker cp :用於容器與主機之間的數據拷貝
  1.  
    將文件從容器拷貝到宿主機
  2.  
    docker cp 容器:源路徑 目標路徑
  3.  
     
  4.  
    將文件從宿主機拷貝到容器
  5.  
    docker cp 源路徑 容器:目標路徑
  6.  
     
  7.  
    舉例:
  8.  
    將主機 /usr/abc目錄拷貝到容器 96f7f14e99ab的/hou目錄下
  9.  
    docker cp /usr/abc 96 f7f14e99ab: /hou/
  10.  
     
  11.  
    將主機 /usr/abc目錄拷貝到容器 96f7f14e99ab中,重命名為hou
  12.  
    docker cp /usr/abc 96 f7f14e99ab:/hou
  13.  
     
  14.  
    將容器 96f7f14e99ab的 /abc目錄拷貝到主機的/tmp目錄中
  15.  
    docker cp 96 f7f14e99ab: /abc /tmp/
  16.  
     
  • docker commit :從容器創建一個新的鏡像
  1.  
    docker commit [參數] 容器 [鏡像[:TAG]]
  2.  
    參數說明:
  3.  
    - a:鏡像作者;
  4.  
    - c:使用Dockerfile指令來創建鏡像;
  5.  
    - m:提交時的說明文字;
  6.  
    舉例:
  7.  
    docker commit -a "houpk" -m "create mynginx" a404c6c174a2 mynginx:v1
  8.  
    運行docker images可以查看創建的鏡像。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM