commit镜像
docker commit 提交容器成为一个新的版本
# 命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
实战测试
# 启动一个默认的tomcat(这是一个前台应用,运行之后再另打开一个窗口操作)
root@ubuntu:~# docker run -it -p 8080:8080 tomcat
# 发现这个默认的tomcat 是没有webapps应用,镜像的原因,官方的镜像默认webapps下面是没有文件的!
root@ubuntu:/# docker exec -it 738d8205fbee /bin/bash
root@30b51ecc6146:/usr/local/tomcat# cd webapps
# 我自己拷贝进去了基本的文件
root@30b51ecc6146:/usr/local/tomcat# cp -r webapps.dist/* webapps
# 将我们操作过的容器通过commit提交为一个镜像!我们以后就使用我们修改过的镜像即可,这就是我们自己的一个修改的镜像
root@ubuntu:~# docker commit -a="moran" -m="add webapps app" 30b51ecc6146 tomcat02:1.0
sha256:f660787a90cbc1621806f9bd0b9947bbb1bfe5665b2a48c55bbd4aec7b2efae9
学习方式说明:理解概念,但是一定要实践,最后实践和理论相结合一次搞定这个知识
如果你想要保存当前容器的状态。就可以通过commit来提交,获得一个镜像。
就好比我们以前学习 VM 时候的 快照!
到了这里我们才算是入门Docker!
拉取自己的镜像
要从Docker Hub拉取自己的镜像,你需要首先构建并标记你的镜像,然后将其推送到Docker Hub。以下是一些步骤:
-
构建镜像:首先,你需要创建一个Docker镜像。你可以在本地计算机上使用Dockerfile来构建镜像,或者使用已经存在的容器并对其进行修改。以下是一个简单的例子,假设你已经有一个Dockerfile:
FROM ubuntu:20.04 RUN apt-get update && apt-get install -y nginx CMD ["nginx", "-g", "daemon off;"]
保存这个Dockerfile,然后在包含Dockerfile的目录中运行以下命令来构建镜像:
docker build -t yourusername/yourimage:tag .
替换
yourusername
为你的Docker Hub 用户名,yourimage
为你的镜像名称,tag
为镜像的标签,通常是版本号或者其他有意义的标识符。 -
登录到 Docker Hub:在推送镜像之前,你需要登录到 Docker Hub。运行以下命令,并按照提示输入你的用户名和密码:
docker login
-
推送镜像:一旦登录成功,你可以使用以下命令将镜像推送到Docker Hub:
docker push yourusername/yourimage:tag
替换
yourusername
、yourimage
和tag
为你之前构建镜像时使用的相同值。 -
拉取镜像:现在,你可以在任何支持Docker的计算机上使用以下命令拉取你的镜像:
docker pull yourusername/yourimage:tag
这将从Docker Hub拉取你的镜像到本地计算机。
请确保你的镜像已经成功构建并且已经被推送到Docker Hub,以及你在拉取镜像时使用了正确的用户名、镜像名称和标签。