腾讯云安装docker(腾讯云安装kali)

admin 103 2022-11-08

阿里云服务器优惠多,折扣错,惊喜多,请咨询:www.wqiis.com

本文目录一览:

腾讯云docker需要多大内存

2 GB。

简单云(ezOnework)由研发效能专家团队打造、不仅提供企业级云原生DevOps工具集, 更融合多年研发实践,提供咨询、培训、私有部署服务。

图形化的流水线编排、基于K8S的构建、测试资源管理,自动化部署,开箱即用的插件,提供强大的持续集成和交付能力,保障团队更好更快的价值交付,破解研发运维角色之墙。

腾讯云可以使用docker吗

当然可以的,在去年一月份就可以支持Docker Machine,而且还推出常用系统的标准版Docker镜像

如何搭建及使用docker registry

registry是什么?

registry是Docker的镜像存储服务,docker hub上的registry镜像见Registry官方镜像,更多详细信息请参见源码。

搭建registry

服务器上执行如下命令安装docker,这里选择腾讯云(Ubuntu Server 14.04.1 LTS 64位)镜像来创建服务器

curl -fsSL | sh

安装docker-compose Docker Compose是一个定义及运行多个Docker容器的工具。使用Docker Compose只需要在一个配置文件中定义多个Docker容器,然后使用一条命令将多个容器启动,Docker Compose会通过解析容器间的依赖关系,按先后顺序启动所定义的容器。详见Docker Compose

curl -L (uname -s)-$(uname -m) /usr/local/bin/docker-compose

chmod a+x /usr/local/bin/docker-compose

启动registry服务,此例中包含nginx和registry两个容器,涉及的包及配置文件请参见附件,解压后,直接执行如下命令即可创建服务。

docker-compose up -d

停止服务

docker-compose stop

重启服务

docker-compose restart

下线服务

docker-compose down

上传镜像

因为上面搭建的registry服务是http的,所以docker启动参数需要配置--insecure-registry localhost选项,修改/etc/default/docker文件

DOCKER_OPTS="--insecure-registry localhost"

重启docker

service docker restart

拉取上传镜像 docker pull;docker tag;docker push(tag默认为latest)

docker pull hello-world

docker tag hello-world localhost/library/hello-world

docker push localhost/library/hello-world

下载镜像

docker pull localhost/library/hello-world

删除镜像

docker rmi localhost/library/hello-world

获取镜像仓库列表

# curl

{"repositories":["library/hello-world"]}

未上传镜像前的输出如下:

# curl

{"repositories":[]}

获取镜像tag列表

# curl -X GET

{"name":"library/hello-world","tags":["latest"]}

获取镜像manifests信息

# curl -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X GET

{

"schemaVersion": 2,

"mediaType": "application/vnd.docker.distribution.manifest.v2+json",

"config": {

"mediaType": "application/vnd.docker.container.image.v1+json",

"size": 1473,

"digest": "sha256:c54a2cc56cbb2f04003c1cd4507e118af7c0d340fe7e2720f70976c4b75237dc"

},

"layers": [

{

"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",

"size": 974,

"digest": "sha256:c04b14da8d1441880ed3fe6106fb2cc6fa1c9661846ac0266b8a5ec8edf37b7c"

}

]

}

其中c54a2cc56cbb2f04003c1cd4507e118af7c0d340fe7e2720f70976c4b75237dc即为执行docker images时看到的IMAGE ID。 layers表示了镜像的层次关系,可以通过layers中的digest来拉取blob,见下面获取镜像blob

获取镜像blob

在上面获取hello-world:latest镜像的manifests信息中可以看到其只有一个layer,以此为例来看如何获取镜像blob。从拉取的结果可以看到获取的blob与文件sha256是一致的。执行docker pull实际上就是首先获取到镜像的manifests信息后,再拉取blob的。

# curl -s -X GET -o hello-world.blob

# ls -l hello-world.blob

-rw-r--r-- 1 root root 974 Nov 23 09:56 hello-world.blob

# sha256sum hello-world.blob

c04b14da8d1441880ed3fe6106fb2cc6fa1c9661846ac0266b8a5ec8edf37b7c hello-world.blob

##删除镜像(soft delete)

首先通过curl -i 参数获取到镜像的Docker-Content-Digest,registry 2.3及以后的版本必须在header中指定Accept: application/vnd.docker.distribution.manifest.v2+json,否则默认返回的是schema1的digest,其与schema2的digest不同,使用不指定上述头信息返回的digest删除时会返回404

# curl -i -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -X GET

HTTP/1.1 200 OK

Server: nginx/1.11.5

Date: Wed, 23 Nov 2016 02:17:51 GMT

Content-Type: application/vnd.docker.distribution.manifest.v2+json

Content-Length: 524

Connection: keep-alive

Docker-Content-Digest: sha256:a18ed77532f6d6781500db650194e0f9396ba5f05f8b50d4046b294ae5f83aa4

Docker-Distribution-Api-Version: registry/2.0

Etag: "sha256:a18ed77532f6d6781500db650194e0f9396ba5f05f8b50d4046b294ae5f83aa4"

{

"schemaVersion": 2,

"mediaType": "application/vnd.docker.distribution.manifest.v2+json",

"config": {

"mediaType": "application/vnd.docker.container.image.v1+json",

"size": 1473,

"digest": "sha256:c54a2cc56cbb2f04003c1cd4507e118af7c0d340fe7e2720f70976c4b75237dc"

},

"layers": [

{

"mediaType": "application/vnd.docker.image.rootfs.diff.tar.gzip",

"size": 974,

"digest": "sha256:c04b14da8d1441880ed3fe6106fb2cc6fa1c9661846ac0266b8a5ec8edf37b7c"

}

]

}

根据上一步返回的Docker-Content-Digest删除,返回202表示删除成功

# curl -k -v -s -X DELETE

* Hostname was NOT found in DNS cache

* Trying 127.0.0.1...

* Connected to localhost (127.0.0.1) port 80 (#0)

DELETE /v2/library/hello-world/manifests/sha256:a18ed77532f6d6781500db650194e0f9396ba5f05f8b50d4046b294ae5f83aa4 HTTP/1.1

User-Agent: curl/7.35.0

Host: localhost

Accept: */*

**HTTP/1.1 202 Accepted**

* Server nginx/1.11.5 is not blacklisted

Server: nginx/1.11.5

Date: Wed, 23 Nov 2016 02:29:59 GMT

Content-Type: text/plain; charset=utf-8

Content-Length: 0

Connection: keep-alive

Docker-Distribution-Api-Version: registry/2.0

* Connection #0 to host localhost left intact

确认结果

# curl -X GET

{"name":"library/hello-world","tags":null}

删除镜像(hard delete)

在上一步中,只是删除了镜像的manifests信息,解引用的blob还在占用磁盘空间,执行如下命令可以查看可以删除的blob

docker exec -it myregistry_registry_1 /bin/registry garbage-collect --dry-run /etc/registry/config.yml

要删除blob,释放磁盘空间,需要执行下面的命令。需要特别注意的是在执行下面的命令时registry必须是只读模式(只读模式可在registry配置文件中设置),否则可能会导致数据不一致。

docker exec -it myregistry_registry_1 /bin/registry garbage-collect /etc/registry/

腾讯云安装docker的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于腾讯云安装kali、腾讯云安装docker的信息别忘了在维启网络进行查找喔。

上一篇:b2b网站建设开发(b2b大型网站建设)
下一篇:大连网站优化推广(大连网站优化推广怎么做)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~