逻辑图:
总结上图逻辑图:
围绕着image(镜像)开始:首先image从dockerhub公共仓库上拉取或者说下载(Repostory),或者可以从本地私有仓库上下载(Registry),docker pull image。 也可以将镜像上传到仓库中,docker push 。
下载完镜像后,可以对镜像导出到本地(docker save),相应的可以将本地的镜像导入到docker中(docker load)。
使用镜像运行容器(Container),docker run -itd --name … image(这里运行仓库还可以加更多的参数,-p指定端口,–restart=always始终保持运行,还有一些cgroup限制的参数) , 使用docker commit 容器名 image名,可以将容器导出镜像,进入容器docker exec -it 容器名 /bin/bash。
也可以用Dockerfile来编写脚本不进入容器部署服务,来生成image。
Docker的基本命令:
1.下载镜像:
[root@localhost ~]# docker search mysql #查找可用镜像。
https://hub.docker.com/ 公用的docker仓库。
[root@localhost ~]# docker pull busybox #拉取镜像。
我们在下载的时候可以看出,镜像是分层的。
2.查询下载的镜像:
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
busybox latest b534869c81f0 6 days ago 1.22MB
centos 7 5e35e350aded 4 weeks ago 203MB
注意:虽然我们查看到镜像标签为latest(最新的),但并不表示它一定是最新的。而且镜像如果没有写标签,默认以latest为标签。
3.删除镜像:
[root@localhost ~]# docker rmi busybox:latest #i:images。
4.把镜像导出到本地:
[root@localhost ~]# docker save -o busybox.tar busybox:latest #-o:output
[root@localhost ~]# ls
busybox