Docker镜像发布

Dockerfile

FROM centos
ENV name docker
CMD echo hello $name

1.直接push镜像到Docker Hub

制作image
只能往自己的用户目录下push镜像,tag格式:Docker Hub用户名/image名称

docker build -t username/hello .

登录docker hub

docker login

push镜像

docker push username/hello:latest

Docker镜像发布_第1张图片
这样push的方式存在一个问题:使用的用户不知道这个image是怎么产生的,是否存在不安全的因素

2.使用GitHub与Dockerfile,push镜像到Docker Hub(推荐)

GitHub与Docker Hub进行关联,Docker Hub会自动拉取Repository并寻找Dockerfile文件进行构建
Docker镜像发布_第2张图片
Docker镜像发布_第3张图片

3.私有的Docker Registry

Docker Registry用于存储和分发Docker镜像,可以使用Docker Registry搭建私有image管理服务器
运行registry

docker pull registry
docker run -d -p 5000:5000 --restart always --name registry registry:latest

制作镜像
tag格式:Registry服务器ip或域名:端口号/image名称

docker build -t 192.168.73.204:5000/hello .

/etc/docker目录下创建daemon.json
添加以下内容,表示信任该registry

vim /etc/docker/daemon.json
{
  "insecure-registries":["192.168.73.204:5000"]
}

修改docker.service

vim /lib/systemd/system/docker.service

# 在ExecStart后添加以下内容
# 后台进程在启动时会读取该环境配置文件
EnvironmentFile=-/etc/docker/daemon.json

重启docker服务

systemctl restart docker
# Warning提示命令
systemctl daemon-reload

push镜像

docker push 192.168.73.204:5000/hello

使用Docker Registry API查看registry (registry无图形界面)

http://192.168.73.204:5000/v2/_catalog
{
	"repositories": [
		"hello"
	]
}

你可能感兴趣的:(Docker)