問題一:
Get https://registry-1.docker.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
解決方案:
修改docker鏡像源:
docker默認的源爲國外官方源,下載速度較慢,可改爲國內,加速
方案一
修改或新增 /etc/docker/daemon.json
# vi /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl restart docker.service
問題二:
redis 由於目標計算機積極拒絕,無法連接
解決方案:
https://blog.csdn.net/weixin_42456466/article/details/87270959
命令總結:
檢查當前 CentOS 系統內核版本
uname -r
檢查當前 CentOS 系統版本
cat /etc/redhat-release
Linux安裝
CentOS安裝命令
sudo yum update
sudo yum install docker
Ubuntu
sudo apt-get update
sudo apt-get docker.io
查看docker版本
docker -v
Docker鏡像檢索
docker search 鏡像名
例如:docker search redis
鏡像下載
docker pull 鏡像名
docker pull redis
docker pull ubuntu:16.04 #帶版本號
鏡像列表
docker images
其中PEPOSITORY是鏡像名:TAG是軟件版本,latest爲最新版本;IMAGE_ID是當前鏡像的唯一標識;
CREATED是當前鏡像創建時間;VIRTUAL SIZE是當前鏡像的大小。
鏡像刪除
docker rmi image-id
刪除所有鏡像
docker rmi $(docker images -q)
容器列表
運行: docker ps
運行和停止: docker ps -a
容器啓動
docker run --name container-name -d image-name
--name參數是爲容器取的名稱,-d表示detached,意味着執行這句命令後控制檯將不會被阻礙,可繼續輸入命令操作;
最後的image-name是要使用哪個鏡像來運行容器
例如: docker run --name test-redis -d redis
docker run -p 8080:80 nginx #“-p 8080:80”告訴Docker將本地主機端口8080映射到Docker容器的端口80。您應該能夠從http://localhost:8080訪問nginx服務器
啓動容器
docker start container-name/container-id
例如: docker start test-redis
停止容器
docker stop container-name/container-id
例如:docker stop test-redis
端口映射
映射容器6379端口到本機的6378端口
docker run -d -p 6378:6379 --name port-redis redis
刪除容器
單個: docker rm container-id
所有: docker rm $(docker ps -a -q)
容器日誌
docker logs container-name /container-id
例如: docker logs port-redis
登陸容器
docker exec -it container-id/container-name bash
docker鏡像
都放在docker官網上
docker hub:https://hub.docker.com/
查看鏡像的創建歷史
docker history nginx
docker image history nginx
使用幫助選項檢查Docker安裝上的最新可用命令:
docker --help
要使用特定命令的選項,可以使用該命令的help選項。例如,要使用docker run命令選項,可以使用以下命令:
docker run --help
目前,有13個管理命令和41個通用命令。下面是我們的docker命令:
docker attach-將本地輸入/輸出/錯誤流附加到正在運行的容器。
docker commit-從容器的當前更改狀態創建一個新鏡像。
docker exec-在正在運行的容器中運行命令。
docker history-顯示鏡像的歷史記錄。
docker info-顯示系統信息,包括鏡像和容器數。
docker inspect-查找有關Docker容器和鏡像的系統級信息。
docker login-登錄到本地註冊表或Docker Hub。
docker pull-從本地註冊表或Docker Hub中提取鏡像或存儲庫。
docker ps-列出容器的各種屬性。
docker restart-停止並啓動容器。
docker rm-移除容器。
docker rmi-刪除鏡像。
docker run-在一個獨立的容器中運行一個命令。
docker search-在Docker Hub中搜索鏡像。
docker start-啓動已經停止的容器。
docker stop-停止運行容器。
docker version -提供Docker版本信息。
docker info:
它將向您顯示各種重要信息,如服務器版本、存儲驅動程序、內核版本、操作系統、總內存等等。當您試圖爲當前的Docker安裝增加新的資源或試圖解決系統級資源分配問題時,這些信息可能很有用。這也是一種快速檢查正在運行、暫停和停止的容器數量以及下載到系統的鏡像數量的方法
您不需要註冊Docker Hub即可拉取鏡像。但是,如果要將圖像推送到Docker Hub,則需要註冊,然後使用Docker login命令登錄:$ docker login --username = yourhubusername --email = [email protected]
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
解決辦法
$ systemctl daemon-reload
$ sudo service docker restart