1、创建基础镜像,默认是创建最新版本:
docker pull centos
2、使用基础镜像创建一个容器:
docker run --name centos1 -itd centos:latest /bin/bash
注:-i表示让容器的标准输入打开,-t表示分配一个伪终端,-d表示后台启动,要把-i -t -d 放到镜像名字前面,--name指定容器名。
3、进入后台运行的容器:
docker exec -it centos1 /bin/bash
4、创建一个文件:
vi test.txt
里面输入helloworld
5、退出容器:
exit
6、创建新镜像
指定tag
docker commit -m='A new image' --author='gjk' centos1 jack/storagename:tagName
不指定tag,默认tag为latest
docker commit -m='A new image' --author='gjk' centos1 jack/storagename
规范的镜像名应该为:
[username/]repositoryName[:tagName]
如果没有tagName,则默认为latest。
注意:如果需要把该镜像提交到dokcer hub中心,则必须规范命名(必须是 用户名/仓库名,tag可以缺省),前面的用户名是在dokcer hub上注册的用户名。
命令中,指定了要提交的修改过的容器的容器名当然使用容器的id也可以、目标镜像仓库、镜像名。commit提交的只是创建容器的镜像与容器的当前状态之间的差异部分,很轻量,-m为备注信息,--auth为作者类似于git的操作,tag默认为latest,如果指定则按照指定的来
commit以后只是将镜像保存在了本地,可以通过docker images 查看刚刚创建的镜像。使用刚刚创建的镜像生成容器里面可以看到一件包含了test.txt文件。
7、将镜像推送到DockerHub
docker push jack/storagename