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上的鏡像,在國內網絡環境下,下載時間較久,所以要配置國內鏡像倉庫。
修改方式如下:
-
第一步:新建或編輯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”
2.常用命令
2.1幫助命令
- docker version:顯示Docker的版本信息;
- docker info:顯示Docker系統信息,包括鏡像和容器數;
- docker --help:幫助命令
2.2鏡像命令
2.2.1本地鏡像管理
- docker images:列出本地鏡像
-
docker images [參數]
-
參數說明:
-
-a:列出本地所有鏡像(含中間映像層)
-
-q:只顯示鏡像ID
- docker rmi:刪除本地鏡像
-
docker rmi [參數] [鏡像名或鏡像名列表]
-
參數說明:
-
-f: 強制刪除
-
舉例:
-
docker rmi -f tomcat hello-world(刪除tomcat和hello-world,不帶TAG默認為latest)
-
docker rmi -f $(docker images -qa) 刪除所有鏡像
2.2.2遠程倉庫
- docker search:從Docker Hub查找鏡像
-
docker search [參數] 鏡像名
-
參數說明:
-
-s:列出收藏數不小於指定值的鏡像;
-
--automated:只列出automated build類型的鏡像。
-
舉例:
-
docker search -s 10 nginx
- docker pull:從鏡像倉庫拉取或更新指定鏡像
-
docker pull [參數] 鏡像名[:TAG]
-
參數說明:
-
-a: 拉取所有鏡像
-
舉例:
-
docker pull nginx
-
docker pull -a nginx (從Docker Hub下載REPOSITORY為nginx的所有鏡像)
- 上傳鏡像
將本地鏡像上傳到阿里雲為例。
-
1.配置阿里雲的鏡像加速器,前面已介紹;
-
-
2.命令行登錄到阿里雲的doker倉庫,--username為阿里雲的用戶名
-
docker login --username=houpengkun registry.cn-hangzhou.aliyuncs.com
-
-
3.為本地鏡像添加tag,houpk為命名空間
-
docker tag f 4ec 85e 8298f registry.cn-hangzhou.aliyuncs.com/houpk/mynginx: 0. 1
-
-
4.push到docker倉庫
-
docker push registry.cn-hangzhou.aliyuncs.com/houpk/mynginx: 0. 1
-
-
5.登錄阿里雲查看已上傳的鏡像列表:https://cr.console.aliyun.com/#/imageList
2.2.3容器操作命令
- docker ps:列出正在運行的容器
-
docker ps [參數]
-
參數說明:
-
- a:顯示所有容器,包括未運行的
-
- q:只顯示容器編號
- docker run :創建一個新的容器並運行一個命令
-
docker run [參數] 鏡像名/ID [命令] [命令參數...]
-
參數說明:
-
- i:以交互模式運行容器,通常與 -t 同時使用;
-
- t:為容器重新分配一個偽輸入終端;
-
--name= "my":為容器指定一個名稱;
-
- p:指定端口映射,格式為:主機(宿主)端口:容器端口;
-
- P:隨機端口映射,容器內部端口隨機映射到主機的高端口;
-
- d:后台運行容器;
-
舉例:
-
docker run -it nginx:latest /bin/bash
-
docker run -p 8080: 8080 tomcat
- 退出容器(以it的方式運行)
-
方式一: exit
-
退出docker,同時docker容器停止運行;
-
方式二:ctrl+p+q
-
退出docker,docker容器繼續運行。
- docker start/stop/restart
-
docker start 容器 ID [容器ID...] : 啟動容器
-
docker stop 容器 ID [容器ID...] : 停止容器
-
docker restart 容器 ID [容器ID...] : 重啟容器
-
以上操作都要建立在容器已經創建的基礎上,也就是執行了docker run命令
- docker exec:在運行的容器中執行命令
-
docker exec [參數] 容器id 命令 [命令參數...]
-
參數說明:
-
- d:在后台運行;
-
- i:交互式;
-
- t:分配終端;
-
舉例:
-
docker exec -it mynginx /bin/bash
- docker kill :殺掉一個運行中的容器
-
docker kill [參數] 容器 [容器...]
-
參數說明:
-
-s:向容器發送一個信號
-
舉例:
-
docker kill -s KILL mynginx
- docker rm:刪除容器
-
docker rm [參數] 容器 [容器...]
-
參數說明:
-
-f: 強制刪除
-
舉例:
-
docker rm -f mynginx
-
docker rm $(docker ps -aq)
- docker logs:獲取容器的日志
-
docker logs [參數] 容器
-
參數說明:
-
-t:顯示時間戳;
-
-f:跟蹤日志輸出;
-
--tail:僅列出最新N條容器日志
-
舉例:
-
跟蹤查看容器mynginx的日志輸出
-
docker logs -f mynginx
-
查看容器mynginx從2016年7月1日后的最新10條日志
-
docker logs --since="2016-07-01" --tail=10 mynginx
- docker top :查看容器中運行的進程信息
-
docker top 鏡像
-
舉例:
-
docker top mynginx
- docker cp :用於容器與主機之間的數據拷貝
-
將文件從容器拷貝到宿主機
-
docker cp 容器:源路徑 目標路徑
-
-
將文件從宿主機拷貝到容器
-
docker cp 源路徑 容器:目標路徑
-
-
舉例:
-
將主機 /usr/abc目錄拷貝到容器 96f7f14e99ab的/hou目錄下
-
docker cp /usr/abc 96 f7f14e99ab: /hou/
-
-
將主機 /usr/abc目錄拷貝到容器 96f7f14e99ab中,重命名為hou
-
docker cp /usr/abc 96 f7f14e99ab:/hou
-
-
將容器 96f7f14e99ab的 /abc目錄拷貝到主機的/tmp目錄中
-
docker cp 96 f7f14e99ab: /abc /tmp/
-
- docker commit :從容器創建一個新的鏡像
-
docker commit [參數] 容器 [鏡像[:TAG]]
-
參數說明:
-
- a:鏡像作者;
-
- c:使用Dockerfile指令來創建鏡像;
-
- m:提交時的說明文字;
-
舉例:
-
docker commit -a "houpk" -m "create mynginx" a404c6c174a2 mynginx:v1
-
運行docker images可以查看創建的鏡像。