注册 Docker Hub 账户
到 Docker Hub 网站注册账户:
在 Docker Hub 网站上新建镜像
使用注册的账户登录 Docker Hub 网站,然后新建一个组织,在组织里再新建一个镜像。假设组织名为 yongdui,镜像名为 openjdk,那么得到的镜像全名为:yongdui/openjdk。别忘了添加不必要的镜像说明,好让使用者知道镜像的作用。
在本地登录 Docker Hub
在本地命令行工具里登录 Docker Hub 账户:
$ docker login
Login with your Docker ID to push and pull images from Docker Hub. If you don't have a Docker ID, head over to https://hub.docker.com to create one.
Username: tanggaowei
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
修改本地镜像
1)查看镜像
$ docker images
REPOSITORY TAG IMAGE ID
registry.cn-hangzhou.aliyuncs.com/yongdui/play 1.4.5 2c28e0b30fa5
registry.cn-hangzhou.aliyuncs.com/yongdui/play latest 7551d033ad6d
registry.cn-hangzhou.aliyuncs.com/yongdui/openjdk latest fae282605f3e
2)启动容器
这里从 registry.cn-hangzhou.aliyuncs.com/yongdui/openjdk:latest 镜像启动一个容器:
docker run -it fae282605f3e sh
3)修改容器
在容器里安装 curl 工具:
/ # apk --update add curl
然后使用 exit 命令退出。
从容器创建镜像
1)查看容器 ID
使用 docker ps -a 命令查看
$ docker ps -a | grep 'fae282605f3e'
1a583d1fbee7 fae282605f3e "sh" About a minute ago Exited (0) About a minute ago
第二列是镜像 ID,第一列就是容器ID。
2)创建新镜像
创建一个新镜像到本地:
$ docker commit 1a583d1fbee7 yongdui/openjdk
查看结果:
$ docker images
REPOSITORY TAG IMAGE ID
yongdui/openjdk latest 1b8111fc3bee
registry.cn-hangzhou.aliyuncs.com/yongdui/play 1.4.5 2c28e0b30fa5
registry.cn-hangzhou.aliyuncs.com/yongdui/play latest 7551d033ad6d
registry.cn-hangzhou.aliyuncs.com/yongdui/openjdk latest fae282605f3e
名为“yongdui/openjdk”的镜像已经创建完成。
上传镜像
$ docker push yongdui/openjdk