当前位置:首页 » 《资源分享》 » 正文

DocKer下载和拉取镜像

28 人参与  2024年10月20日 18:01  分类 : 《资源分享》  评论

点击全文阅读


Docker版本与官方安装方式

moby、docker-ce(社区版)与docker-ee(企业版)

最早时docker是⼀个开源项⽬,主要由docker公司维护。

2017年3⽉1⽇起,docker公司将原先的docker项⽬改名为moby,并创建了docker-ce和docker-ee。

三者关系:

moby是继承了原先的docker的项⽬,是社区维护的的开源项⽬,谁都可以在moby的基础打造⾃⼰的容器产品docker-ce是docker公司维护的开源项⽬,是⼀个基于moby项⽬的免费的容器产品docker-ee是docker公司维护的闭源产品,是docker公司的商业产品

moby project由社区维护,docker-ce project是docker公司维护,docker-ee是闭源的docker公司维护。

CentOS–官⽅安装

Docker官⽹:https://www.docker.com/

中文网: https://docker.p2hp.com/

了解即可

如果是centos,上⾯的安装命令会在系统上添加yum源:/etc/yum.repos.d/docker-ce.repo# wget https://download.docker.com/linux/centos/docker-ce.repo# mv docker-ce.repo /etc/yum.repos.d# yum install -y docker-ce

或者直接下载rpm安装:

# wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm# yum localinstall docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm

国内源安装新版Docker

使⽤aliyun docker yum源安装新版docker

选择dockerCE

请添加图片描述

删除已安装的Docker

[root@docker-server ~]# yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-selinux \docker-engine-selinux \docker-engine

配置阿里云Docker Yum源

阿里云镜像源地址:mirrors.aliyun.com

# step 1: 安装必要的一些系统工具sudo yum install -y yum-utils device-mapper-persistent-data lvm2# Step 2: 添加软件源信息sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# Step 3sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo# Step 4: 更新并安装Docker-CEsudo yum makecache fastsudo yum -y install docker-ce# Step 4: 开启Docker服务sudo service docker start

查看docker版本

[root@docker_server ~]# docker -vDocker version 26.1.4, build 5650f9b

安装指定版本

查看Docker版本:# yum list docker-ce --showduplicates

示例:

[root@docker_server ~]# yum list docker-ce --showduplicates已加载插件:fastestmirror, langpacks, product-id, search-disabled-repos, subscription-manager可安装的软件包                               docker-ce-stabledocker-ce.x86_64                                 17.12.1.ce-1.el7.centos                                  docker-ce-stabledocker-ce.x86_64                                 18.03.0.ce-1.el7.centos                                  docker-ce-stabledocker-ce.x86_64                                 18.03.1.ce-1.el7.centos                                  docker-ce-stable想安装 18.03.1.ce-1.el7.centos$ yum -y install docker-ce-18.03.0.ce-1.el7.centos 

安装较旧版本(⽐如Docker 17.03.2) :

需要指定完整的rpm包的包名,并且加上–setopt=obsoletes=0 禁⽌⾃动更新参数:

# yum install -y --setopt=obsoletes=0 \docker-ce-17.03.2.ce-1.el7.centos.x86_64 \docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch例如:# yum install -y --setopt=obsoletes=0 docker-ce-19.03.2 docker-ce-selinux-19.03.2

安装Docker新版本:加上rpm包名的版本号部分或不加都可以:

[root@docker-server ~]# yum install -y docker-ce #默认安装的是最新版本

启动Docker服务:

#systemctl enable docker#systemctl start docker

查看docker版本状态:

[root@docker-server ~]# docker -vDocker version 20.10.21, build baeda1f
[root@docker_server ~]# docker versionClient: Docker Engine - Community Version:           26.1.4 API version:       1.45 Go version:        go1.21.11 Git commit:        5650f9b Built:             Wed Jun  5 11:32:04 2024 OS/Arch:           linux/amd64 Context:           defaultServer: Docker Engine - Community Engine:  Version:          26.1.4  API version:      1.45 (minimum version 1.24)  Go version:       go1.21.11  Git commit:       de5c9cf  Built:            Wed Jun  5 11:31:02 2024  OS/Arch:          linux/amd64  Experimental:     false containerd:  Version:          1.6.33  GitCommit:        d2d58213f83a351ca8f528a95fbd145f5654e957 runc:  Version:          1.1.12  GitCommit:        v1.1.12-0-g51d5e94 docker-init:  Version:          0.19.0  GitCommit:        de40ad0

查看docker运行状态:

# docker infoContainers: 0Running: 0Paused: 0Stopped: 0Images: 0...
报错1:docker info的时候报如下错误bridge-nf-call-iptables is disabled解决1:追加如下配置,然后重启系统# vim /etc/sysctl.conf net.bridge.bridge-nf-call-ip6tables = 1net.bridge.bridge-nf-call-iptables = 1net.bridge.bridge-nf-call-arptables = 1问题2:虚拟机ping百度也能ping通,但是需要等好⼏秒才出结果,关键是下载镜像⼀直报错如下# docker pull daocloud.io/library/nginx Using default tag: latest Error response from daemon: Get https://daocloud.io/v2/: dial tcp: lookup daocloud.io on 192.168.1.2:53: read udp 192.168.1.189:41335->192.168.1.2:53: i/o timeout解决2:我的虚拟机⽤的⽹关和dns都是虚拟机⾃⼰的.1或者.2,把DNS改成8.8.8.8问题就解决了,ping百度也秒出结果# vim /etc/resolv.conf nameserver 8.8.8.8

简单测试

docker容器(nginx)

docker镜像(nginx)

docker服务

虚拟机

物理服务器

Docker官网镜像网站:https://hub.docker.com/

总是无法访问

运⾏⼀个容器[root@192 ~]# docker run -it daocloud.io/library/ubuntu /bin/bash #运⾏容器Unable to find image 'daocloud.io/library/ubuntu:latest' locallylatest: Pulling from library/ubuntu5c939e3a4d10: Pull completec63719cdbe7a: Pull complete19a861ea6baf: Pull complete651c9d2d6c4f: Pull completeDigest: sha256:bc025862c3e8ec4a8754ea4756e33da6c41cba38330d7e324abd25c8e0b93300Status: Downloaded newer image for daocloud.io/library/ubuntu:latest如果⾃动进⼊下⾯的容器环境,说明•ubuntu镜像运⾏成功,Docker的安装也没有问题:可以操作容器了root@db8e84e2ea96:/#

国内镜像源

去查看如何使⽤aliyun的docker镜像库去查看如何使⽤⽹易蜂巢的docker镜像库----作业,并且通过⽹易蜂巢源下载⼀个nginx的镜像---docker pull 镜像仓库与镜像名字https://www.daocloud.io/

Docker 加速器

使⽤ Docker 的时候,需要经常从官⽅获取镜像,但是由于显⽽易⻅的⽹络原因,拉取镜像的过程⾮常耗时,严重影响使⽤ Docker 的体验。因此 DaoCloud 推出了加速器⼯具解决这个难题,通过智能路由和缓存机制,极⼤提升了国内⽹络访问 Docker Hub 的速度。Docker 加速器对 Docker 的版本有要求吗? 需要 Docker 1.8 或更⾼版本才能使⽤。Docker 加速器⽀持什么系统? Linux, MacOS 以及 Windows 平台。Docker 加速器是否收费? 提供永久免费的加速器服务,请放⼼使⽤。

国内⽐较好的镜像源:网易蜂巢、aliyun和daocloud

可信镜像中心

https://hub.atomgit.com

进⼊镜像市场:

请添加图片描述

随便搜索一个,搜mysql

请添加图片描述

选择合适的版本,以第一个为例

请添加图片描述

请添加图片描述

拉取镜像:

[root@docker_server ~]# docker pull hub.atomgit.com/amd64/mysql:5.7.43

查看镜像:

[root@docker_server ~]# docker imagesREPOSITORY                    TAG       IMAGE ID       CREATED        SIZEhub.atomgit.com/amd64/mysql   5.7.43    8a709252ac32   8 months ago   582MB

启动mysql实例:

[root@docker_server ~]#  docker run --name testmysql -e MYSQL_ROOT_PASSWORD=ChenFuguo@123 -d hub.atomgit.com/amd64/mysql:5.7.43其中:       ChenFuguo@123是mysql密码      -d 以后台模式运行 后面是镜像仓库名 : 标签名      --name testmysql 是给这个新创建的 MySQL 容器设置的名称。通过指定容器名称,可以更方便地管理和访问这个容器。例如,可以使用 docker stop testmysql 或 docker start testmysql 来停止或启动这个容器

连接到mysql实例:

[root@docker_server ~]#  docker exec -it testmysql mysql -u root -p输入密码即可连接

可使用exit; quit; 或者ctrl +D 退出连接

可选择不同的镜像:

[root@docker_server ~]# docker pull hub.atomgit.com/amd64/nginx:1.25.2-perl1.25.2-perl: Pulling from amd64/nginx579f0d7d93d7: Pull complete274d80d3b84f: Pull complete51aa40ee1ebc: Pull completeb6fdae62d276: Pull complete745c8321dca1: Pull complete077c1ce9b937: Pull complete9f88e68f420e: Pull completeb58aacc8a5cd: Pull completeDigest: sha256:615eb6b7237368628ba586460fdab74bccbd4610533f59717ef2cc7c25458efcStatus: Downloaded newer image for hub.atomgit.com/amd64/nginx:1.25.2-perlhub.atomgit.com/amd64/nginx:1.25.2-perl

下载nginx的不同版本,如1.24

[root@docker_server ~]# docker pull hub.atomgit.com/amd64/nginx:1.24.01.24.0: Pulling from amd64/nginx1a82ea2e025a: Pull complete3ef6bc7c6b34: Pull completeb8ea68ef5510: Pull complete152901865926: Pull completeb39f33faf2b2: Pull completecf865bd10e05: Pull completeDigest: sha256:26d247f50cdb2dcb0e57198ee5c66de55693d63e0f6af9142332888de54dd370Status: Downloaded newer image for hub.atomgit.com/amd64/nginx:1.24.0hub.atomgit.com/amd64/nginx:1.24.0
[root@docker_server ~]# docker imagesREPOSITORY                    TAG           IMAGE ID       CREATED        SIZEhub.atomgit.com/amd64/nginx   1.25.2-perl   a707aa62d35c   8 months ago   236MBhub.atomgit.com/amd64/nginx   1.24.0        f9d80bfebb18   8 months ago   142MBhub.atomgit.com/amd64/mysql   5.7.43        8a709252ac32   8 months ago   582MB

启动拉取下来的nginx

docker run --name <容器名称> -d -p <宿主机端口>:<容器端口> <镜像名称>:<标签>
docker run --name testnginx -d -p 80:80 hub.atomgit.com/amd64/nginx:1.25.2-perl

在这里插入图片描述

进入该容器:

假设你有一个名为 testnginx 的容器,你可以使用以下命令进入该容器:

$ docker exec -it testnginx /bin/bash$ ls /usr/share/nginx/html/50x.html  index.html

如果该容器不支持 /bin/bash,你可以尝试使用 /bin/sh

docker exec -it testnginx /bin/sh

退出容器

在容器内部,你可以像在普通 Linux 环境中一样操作。要退出容器的 shell 会话,只需输入 exit 命令:

exit

这将会结束你在容器中的会话并返回到宿主机的命令行提示符。


点击全文阅读


本文链接:http://zhangshiyu.com/post/174667.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1