Docker 学习总结

廉价感情. 提交于 2020-03-03 08:25:16

 问题一:

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 = youremail@company.com


Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?

解决办法
$ systemctl daemon-reload
$ sudo service docker restart

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!