镜像仓库地址是服务器ip吗
⑴ docker本地仓库和远程仓库切换
1. 登录docker hub仓库
docker login hub.xxxyyy.com
# 输入用户名及密码
# username:
# passward:
1
2
3
4
1
2
3
4
输入正确的用户名及密码后,发现报 connection refused 错误:
Error response from daemon: Get "https://hub.xxxyyy.com/": dial tcp hub.xxxyyy.com:443: connect: connection refused
1
1
解决该错误,可以通过在daemon.json文件中写入"insecure-registries"解决。
2. 创建/etc/docker/daemon.json文件
daemon.json文件默认是不存在的,所以我们需要先创建该文件。下面以Ubuntu 16.04为例,创建 /etc/docker/daemon.json 文件并写入"insecure-registries"配置。
vim /etc/docker/daemon.json
1
1
文件内容如下:
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"insecure-registries": [
"hub.xxxyyy.com"
],
"registry-mirrors": [
"https://registry.docker-cn.com"
]
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
这里的关键是在文件里写入:
“insecure-registries”: [
“hub.xxxyyy.com”
]
“hub.xxxyyy.com” 也可直接写成域名的形式,如 “172.171.xxx.xxx”。
3. 重启daemon及docker服务
systemctl daemon-reload
systemctl restart docker
1
2
1
2
重启相关服务后,再次使用 dokcer login 发现可以登录成功。
4. 将本地镜像推送至远程 docker hub 仓库
以推送本地镜像 ubuntu:18.04 至远程私有镜像仓库为例:
(1) 由于推送到私有镜像仓库的镜像名必须符合“仓库IP:端口号/repository”的形式,因此需要按照要求修改镜像名称,具体操作指令如下。
docker tag ubuntu:18.04 hub.xxxyyy.com/common/ubuntu:18.04
1
1
(2) 推送镜像。要推送的本地镜像准备就绪后,就可以将其推送到私有镜像仓库了,具体操作指令如下:
docker push hub.xxxyyy.com/common/ubuntu:18.04
1
1
出现以下信息说明推送成功。
The push refers to repository [hub.xxxyyy.com/common/ubuntu]
1dc52a6b4de8: Pushed
18.04: digest: sha256: size: 529
1
2
3
1
2
3
此时,可在远程私有镜像仓库中查看到推送上去的 ubuntu:18.04 镜像。
⑵ docker 使用
运行容器
sudo docker run -it -v /home/lcj/test_docker:/home/lcj/test_docker tensorflow/tensorflow:1.13.1-gpu-py3
参数:
-d 后台运行并返回容器ID,如 -itd
-e 设置环境变量,如 -e NVIDIA_VISIBLE_DEVICE=0 使用编号为 0 的GPU
-i 打开 STDIN,用于控制台交互,通常跟 -t 一起使用
--net 容器网络设置,如 --net my_network,或者 --net=contianer:NAME_or_ID,使用其他容器的网络,共享 IP 和 PORT 等资源
--restart 指定容器停止后的启动的策略,如 --restart=always
--runtime=nvidia 使用 nvidia 模式运行,跟 -e 一起使用,可以在容器里使用 GPU
-t 为容器重新分配一个伪输入终端,通常与 -i 一起使用
-v 给容器挂载存储卷,挂载到容器的某个目录,如 -v /home/lcj/test_docker:/home/lcj/test_docker
-w 指定容器的工作目录
停止容器
docker stop 容器ID
或者 docker stop `docker ps -a -q` 停止所有容器
重启容器
docker restart 容器ID
进入一个运行中的容器
docker attach 容器ID
保存容器
docker save myimage | bzip2 -9 -c > /home/lcj/save.tar.bz2
加载容器
bzip2 -d -c < /home/lcj/save.tar.bz2 | docker load
杀掉运行中的容器
docker kill -s KILL 容器ID
-s:向容器中发送一个信号
docker rm 命令
参数:
-f :通过 SIGKILL 强制删除一个容器,如 docker rm -f a
-l:移除容器间的网络连接,而非容器本身,如 docker rm -l b,其中 b 为连接名,而非容器名
-v:删除与容器关联的卷
docker create :创建一个容器但不运行它,语法同 docker run
docker ps
-a:显示所有的容器,包括未运行的
-f:根据条件过滤显示的内容
-l:显示最近创建的容器
-n:列出最近创建的 n 个容器
-q:静默模式,只显示容器 ID
列出所有创建的容器 ID
docker ps -a -q
停止所有容器 ID
docker stop `docker ps -a -q`
获取容器/镜像的元数据
docker inspect 容器/镜像名
docker top :查看容器中的进程信息
docker top a(a 是容器)
docker attach :链接到正在运行的容器(该容器必须正在运行)
docker attach a (a 是容器)
docker events :从服务器获取实时事件
-f:根据条件过滤事件
--since:从指定的时间戳后显示所有的事件
--until:流水时间显示到指定的时间为止
显示docker 2016年7月1日后的所有事件
docker events -since="1467302400"
显示docker 镜像为mysql:5.6 2016年7月1日后的相关事件
docker events -f "image"="mysql:5.6" --since="1467302400"
备注:如果指定的时间是到秒级的,需要将时间转成时间戳。如果时间为日期的话,可以直接使用,如--since="2016-07-01"
docker export :将文件系统作为一个 tar 压缩文件导出到 STDOUT
docker port :列出指定的容器端口的映射,或者查找将 PRIVATE_PORT NAT 到面向公众的端口
docker port a(a 为容器名)
docker commit : 从容器创建一个新的镜像
-a:提交的镜像作者
-c:使用 Dockerfile 文件来创建镜像
-m:提交时说明的文字
-p:在 commit 时暂停容器
docker commit -a 'lcj' -m 'has update' 容器 ID 镜像名
docker cp :用于容器与主机之间的数据拷贝
将主机的 test_docker 目录拷贝到容器 /home/lcj 目录下
docker cp /home/lcj/test_docker 容器 ID:/home/lcj/
将容器 /home/lcj 目录拷贝到主机的 test_docker 目录下
docker cp 容器 ID:/home/lcj/ /home/lcj/test_docker
docker login/logout :登录或退出一个 Docker 镜像仓库,如果未指定镜像仓库地址,则默认为 官方 Docker Hub
docker login -u 用户名 -p 密码
docker logout
docker pull :从镜像仓库中拉取或者更新指定镜像
docker pull java
docker push :将本地的镜像上传到镜像仓库,需先登录到镜像仓库
docker push myapache:v1
docker search :从 Docker Hub 查找镜像
--automated,只列出 automated build(自动生成) 类型的镜像
--no-trunc,显示完整的镜像描述
-s:列出收藏数不少于指定值的镜像
从Docker Hub查找所有镜像名包含java,并且收藏数大于10的镜像
docker search -s 10 java
docker images :列出本地所有的镜像
-a:列出本地所有的镜像(含中间映像层,默认情况下,过滤中间映像层)
-q:只显示镜像 ID
docker images 或 docker images ubuntu,列出本地所有镜像或本地仓库名为 ubuntu 的所有的镜像
docker rmi :删除一个或多个镜像
-f:强制移除
--no_prune:不移除该镜像的过程镜像,默认移除
强制删除本地镜像w3cschool/ubuntu:v4
docker rmi -f w3cschool/ubuntu:v4
docker tag :标记本地镜像,将其归入到某一个仓库
将镜像ubuntu:15.10标记为 w3cschool/ubuntu:v3 镜像
docker tag ubuntu:15.10 w3cschool/ubuntu:v3
docker build:使用 Dockerfile 文件创建镜像
使用当前目录的Dockerfile创建镜像
docker build -t w3cscholl/ubuntu:v3 . (不要漏掉最后的 . 符号)
使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像
docker build github.com/creack/docker-firefox
docker history :查看指定镜像的创建历史
docker save :将指定镜像保存成 tar 压缩文件
-o:输出到文件
docker save -o my_ubuntu_v3.tar w3cschool/ubuntu:v3
docker import:从压缩文件中创建镜像
-c:应用 docker 指令创建镜像
-m:提交时的说明文字
从镜像归档文件my_ubuntu_v3.tar创建镜像,命名为w3cschool/ubuntu:v4
docker import my_buntu_v3.tar w3cschool/ubuntu:v4
⑶ 怎样创建非ip形式的docker镜像仓库
开源Docker仓库v2 的其中一个最新特性:能够被用作代理缓存仓库,以缓存Docker Hub上的镜像。运行一个缓存仓库允许你在本地储存镜像,减少过多的通过互联网从Docker Hub拉取镜像,这个特性对于一些在他们环境中拥有数量庞大的Docker引擎的用户来说很有用。跟着本篇教程,你可以让Docker引擎从本地代理缓存仓库拉取镜像,而不是让每个引擎总是从Docker Hub拉取,从而节省时间和带宽。
你可以这样开始:
####要求:
- Docker引擎1.8.3
- Docker仓库v2
- 足够储存Docker镜像的磁盘空间
- TLS证书和密钥
持久化数据
在这个例子中,我们会假设你会储存所有持久化数据在本地文件系统的<code>/data</code>路径下,这个路径下包含TLS证书和密钥文件,配置文件和镜像缓存文件。我们之后会用卷挂载这个目录进运行仓库的容器。
⑷ 服务器ip地址是什么
意思是服务器的ip地址。
IP地址就是给每个连接在互联网上的主机分配的一个32位地址。
IP地址就好像电话号码(地址码):有了某人的电话号码,你就能与他通话了。同样,有了某台主机的IP地址,你就能与这台主机通信了。
由于有这种地址,才保证了用户在连网的计算机上操作时,能够高效而且方便地从千千万万台计算机中选出所需的对象来。服务器地址就是说的服务器的ip地址,能让别人通过ip找到服务器。
(4)镜像仓库地址是服务器ip吗扩展阅读:
IP网络使用32位地址,以点分十进制表示,如192.168.0.1。地址格式为:IP地址=网络地址+主机地址或 IP地址=网络地址+子网地址+主机地址。
网络地址是因特网协会的ICANN分配的,下有负责北美地区的InterNIC、负责欧洲地区的RIPENIC和负责亚太地区的APNIC 目的是为了保证网络地址的全球唯一性。主机地址是由各个网络的系统管理员分配。因此,网络地址的唯一性与网络内主机地址的唯一性确保了IP地址的全球唯一性。
⑸ ip地址和服务器是一个意思吗
IP
地址和服务器不是一个意思,他们就像门牌和房子一样。IP地址,就像房屋的门牌只是一个标识,多少号多少号让你可以顺着道找到地方,而服务器他是一个存储的空间,就像一间房子,你可以随心去布置去安放你想要的应用,服务器是一个可以使用存放应用的存储器,通上网络别人可以访问,就像打开门别人可以让你想让进屋的人参观你的房子。腾正科技,嘉辉,上
⑹ docker中仓库(Repository)与注册服务器(Registry)的区别
仓库(Repository)是集中存放镜像的地方,仓库分为公有仓库与私有仓库
一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 l.dockerpool.com/ubuntu 来说,dl.dockerpool.com是注册服务器地址,ubuntu是仓库名。
大部分时候,并不需要严格区分这两者的概念。
注册服务器、仓库、镜像关系如下
⑺ 服务器Ip是什么
你好,楼主
服务器的IP是一种通信地址,在Internet上给主机编址的方式,也称为网际协议地址。无论是服务器还是个人pc,联网都需要有IP地址,IP是主机之间唯一的识别,类似我们人类的身份证号码。只要遵守IP协议,就可以与因特网互联互通。目前常见的IP是IPv4,如11.151.39.90这样表示。
希望我的回答能帮上忙,如有不明白的地方,可以联系我。
⑻ docker私有镜像仓库搭建和镜像删除
docker私有镜像仓库一般用来存放公司内部的镜像,比如微服务中会有很多的服务需要放到自己公司内部的镜像仓库上,发布的时候直接从私有镜像仓库拉取。比如我公司的微服务部署在k8s环境上,微服务技术依然选择熟悉的 Spring Cloud ,这样每一个服务其实就是一个 Spring Boot 项目,我们通过Maven的插件会在项目编译、打包之后推送到我们的私有镜像仓库,之后CI工具使用kubelet部署的时候会从私有镜像仓库拉取镜像,最后完成部署,可以说私有镜像仓库是非常重要的一个环节。
接下来我会主要讲述一下私有镜像仓库的搭建以及镜像的管理,包括一些自己遇到的问题。
首先要保证自己的服务器已经安装了 docker 。具体的安装教程可以看 官网 ,这里就不在赘述了。
首先我们需要创建一个自己的CA证书,
比如下图是我自己创建时输入的相关内容:
做好镜像存储目录和证书目录的挂载,运行即可
这一步需要在所有需要拉取镜像的服务器上执行。上月底我在部署正式环境时我就遇到了这个问题,k8s的节点上一直显示拉取镜像失败,后来才发现忘了在k8s服务器上配置证书。
hostname 即生成CA证书的时候最后输入的 hostname , port 镜像仓库对外暴露的端口号。
如果是在镜像仓库所在的服务器上,执行:
如果不是同一台服务器,同样需要存放创建证书目录,执行:
之后将证书上传到目标服务器,且放在证书目录下,名称为 ca.crt 。
为了测试,我拉取一个 redis 镜像,然后给它重新打一个 tag 。
推送到私有镜像仓库:
浏览器显示:
表示刚才推送到私有镜像仓库是成功的。接下来我们测试从另一台服务器拉取刚才的镜像。当然这台服务器一定要按照之前的描述配置好CA证书,还要修改服务器 hosts 文件,配置好 ip 和 hostname 。
拉取镜像:
拉取镜像如下图所示:
根据显示可以看出拉取镜像是成功的。
到这里镜像仓库的搭建、推送和拉取都讲完了,接下来就看看怎么删除镜像。
这里说的删除镜像是指从仓库中删除,即从服务器上删除。在构建仓库的时候我们将镜像的仓库容器内的目录挂载到了服务器的目录。镜像仓库内其实是没有镜像文件,都在服务器对应的目录下。在开发的时候我就遇到过这样一个问题,因为是开发环境项目编译、打包、镜像构建和推送都非常频繁,虽然新的镜像会覆盖老的镜像,但是原有的镜像文件本身并没有被覆盖,这样的结果就是虽然镜像仓库上看镜像只有一个,但是本地服务上存储的是很多个镜像文件(而且基本是没啥用的),最终导致了服务磁盘空间不足的情况。
我们依然以 Redis 举例,我将多不同版本的 Redis 多次像私有仓库推送,不管是 Redis 4.0、5.0、6.0,最终我向仓库推送的版本号都是 redis:v4 (过程省略),最终我们在镜像仓库目录( /home/registry/ )下可以看到有多个 sha256 的值,详细目录:
/home/registry/docker/registry/v2/repositories/redis/_manifests/revisions/sha256
如下图:
如果要删除镜像首先需要修改配置文件,进入到docker容器内:
保存之后退出容器。
我们进入到存放镜像的目录下,删除一个镜像的 sha256 的值
上面只是删除了镜像的 sha256 值,并没有删除镜像本身,我们需要调用垃圾回收的命令:
这时候会看到一些输出,比如:
这时候我们在查看下对应目录的磁盘使用情况:
但是变化不明显,那就在删除一个试试。
除了手动删除之外还可以通过API来删除,这个方法我没有测试,感兴趣的小伙伴可以测试一下。在实际过程中我也是使用上述方法删除的,因为我一般都是磁盘使用率到一定比例才进行批量删除的,另外网上也有人通过脚本,感兴趣的小伙伴都可以尝试一下。
删除可以使用使用官方API删除:
查询镜像的 sha256 的值:
今天关于docker私有镜像仓库的内容就讲到这里,如果对上面内容有什么疑问欢迎大家交流探讨,也欢迎大家多多点赞、分享、转发,谢谢大家~~~
⑼ 数据库的服务器是不是就是服务器的IP地址呀
简单理解:在服务器上安装一套数据库软件。
⑽ 如何修改maven仓库的镜像地址
安装完maven后,可在maven目录下的conf文件夹,修改sestting.xml文件
将mirror仓库的注释,恢复,修改为自己的私服或者国内镜像仓库地址
<mirror> <id>mvnrepository.com</id> <mirrorOf>central</mirrorOf> <name>repo in china</name> <url> 仓库地址</url> </mirror>
**需要注意的是,maven安装时都有默认的中央仓库地址,但是由于墙的原因,我们可能不能访问,如果不能访问就需要配置国内的maven仓库
当我们配置了镜像仓库,maven就不会从默认的中央仓库下载依赖,都会转到镜像仓库