docker 入门之提交镜像到远程仓库(四)

前面

通过前面的学习操作镜像与启动一个docker容器,运行中的容器我们会进行各种运行环境的配置,可以将这个运行的容器进行导出,就好像我们将本地代码的分支推送到远程版本控制仓库一样。我们亦可创建将运行的容器对象打包成镜像推送到远程仓库中。

重要概念

在docker中仓库就是存放镜像的地方,而仓库也像github或gitee一样也分公共仓库和私有仓库。最开始我们下载docker的时候会指定一个注册服务器Registry,详情可以参考 Docker入门之HelloWorld(一)
在这里插入图片描述
刚刚在学习的时候可能会把镜像仓库与注册服务器混淆。实际上注册服务器是存放仓库的具体服务器,一个注册服务器可以拥有多个仓库,而每一个仓库下又可以有多个镜像。三者的关系可以用下图进行表示:

在这里插入图片描述

Docker Hub

正如git版本控制器一样,它拥有全世界最大的版本控制工具 github。在docker中也存在最大的镜像仓库Docker Hub

注册Docker Hub账户

访问 Docker Hub以注册账户,注册流程非常简单这里就不多进行介绍。
在这里插入图片描述
登陆后界面是如下模样的:
在这里插入图片描述

Linux服务器登陆Docker Hub

可以通过命令行的方式执行 docker login 输入用户名与密码,登陆成功后会默认保存我们的认证信息,首先查看命令的使用帮助:

[root@VM-0-10-centos ~]# docker login --help

Usage:  docker login [OPTIONS] [SERVER]

Log in to a Docker registry.
If no server is specified, the default is defined by the daemon.

Options:
  -p, --password string   Password
      --password-stdin    Take the password from stdin
  -u, --username string   Username

docker login – username 用户名 服务器地址(可以不填模式就是Docker Hub地址)

## 登陆
docker login -u galengao

在这里插入图片描述

上传镜像到Docker Hub

需求: 定制自己的tomcat镜像并上传到dockerhub上。

  • 下载tomcat镜像
[root@VM-0-10-centos ~]# docker pull tomcat
Using default tag: latest
latest: Pulling from library/tomcat
5e0b432e8ba9: Pull complete 
a84cfd68b5ce: Pull complete 
e8b8f2315954: Pull complete 
0598fa43a7e7: Pull complete 
e0d35e3be804: Pull complete 
8fc448a0c88b: Pull complete 
dbdff6e5955b: Pull complete 
5daf3771e3d8: Pull complete 
e4265b3badfc: Pull complete 
126f233cb97a: Pull complete 
Digest: sha256:c13b2ca96ea98f9e5790e62ba81af996304f84cea3fd9020e6c6f63885684976
Status: Downloaded newer image for tomcat:latest
docker.io/library/tomcat:latest
  • 运行tomcat
[root@VM-0-10-centos ~]# docker run -d -p 8080:8080 --name my-tomcat tomcat
b9dec6aec9dc282125ccb50ea96be0aa9fb7a4c2187546e2f095b0ee2f2323ed

启动tomcat成功后访问页面发现并没有熟悉的小猫图标
在这里插入图片描述
登录tomcat容器查看容器文件目录如下:

## 进入tomcat容器
[root@VM-0-10-centos ~]# docker exec -it my-tomcat /bin/bash
## 查看容器列表
root@b9dec6aec9dc:/usr/local/tomcat# ls -lsa
total 176
 8 drwxr-xr-x 1 root root  4096 Dec  8 20:53 .
 8 drwxr-xr-x 1 root root  4096 Dec  3 14:11 ..
20 -rw-r--r-- 1 root root 18994 Dec  2 22:01 BUILDING.txt
 8 -rw-r--r-- 1 root root  6210 Dec  2 22:01 CONTRIBUTING.md
60 -rw-r--r-- 1 root root 60269 Dec  2 22:01 LICENSE
 4 -rw-r--r-- 1 root root  2333 Dec  2 22:01 NOTICE
 4 -rw-r--r-- 1 root root  3378 Dec  2 22:01 README.md
 8 -rw-r--r-- 1 root root  6905 Dec  2 22:01 RELEASE-NOTES
20 -rw-r--r-- 1 root root 16517 Dec  2 22:01 RUNNING.txt
 4 drwxr-xr-x 2 root root  4096 Dec  8 20:53 bin
 4 drwxr-xr-x 1 root root  4096 Dec 22 15:52 conf
 4 drwxr-xr-x 2 root root  4096 Dec  8 20:53 lib
 4 drwxrwxrwx 1 root root  4096 Dec 22 15:52 logs
 4 drwxr-xr-x 2 root root  4096 Dec  8 20:53 native-jni-lib
 4 drwxrwxrwx 2 root root  4096 Dec  8 20:53 temp
 4 drwxr-xr-x 2 root root  4096 Dec  8 20:53 webapps
 4 drwxr-xr-x 7 root root  4096 Dec  2 22:01 webapps.dist
 4 drwxrwxrwx 2 root root  4096 Dec  2 22:01 work

我们进入webapps.dist目录中可以看到熟悉的tomcat工程结构:
在这里插入图片描述
我们将这些目录全部拷贝到webapps目录下:

## 将当前文件拷贝到webapps目录下
cp -r ./* ../webapps

然后我们在刷新浏览器即可看到小猫图标:
在这里插入图片描述

  • 将tomcat打包成镜像

docker commit -a 用户 -m 提交信息 容器id dockerhub用户名/仓库:标签

## 查看tomcat进程
[root@VM-0-10-centos ~]# docker ps | grep tomcat
b9dec6aec9dc   tomcat    "catalina.sh run"        19 minutes ago   Up 15 minutes   0.0.0.0:8080->8080/tcp, :::8080->8080/tcp   my-tomcat
## 将运行中的tomcat打包成镜像
docker commit -m 'commit my-tomcat' -a 'GalenGao' b9dec6aec9dc galengao/my-tomcat:v1
  • 将镜像上传到dockerhub上
## docker push dockerhub用户名/镜像:标签
docker push galengao/my-tomcat:v1

在这里插入图片描述
登录dockerhub网站可以查看我们最终上次的镜像:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Docker镜像推送到远程仓库,你可以按照以下步骤进行操作: 1. 首先,确保你已经构建了要推送的Docker镜像。你可以使用Dockerfile来构建镜像,使用命令`docker build -t dockerId/镜像名:标签 .`,其中dockerId是你的Docker账号,镜像名是你给镜像起的名字,标签是你给镜像打的标签。例如,`docker build -t docker2021ne/jdk1.8:0713 .`\[2\] 2. 登录到Docker账号,使用命令`docker login`,并输入你的Docker账号和密码\[2\] 3. 推送镜像远程仓库,使用命令`docker push dockerId/镜像名:标签`,其中dockerId是你的Docker账号,镜像名是你给镜像起的名字,标签是你给镜像打的标签。例如,`docker push docker2021ne/jdk1.8:0713`\[1\] 4. 等待推送完成,你的镜像就会被上传到远程仓库中了\[1\] 如果你想下载远程仓库中的镜像,可以使用命令`docker pull dockerId/镜像名:标签`,其中dockerId是镜像所属的Docker账号,镜像名是镜像的名字,标签是镜像的标签。例如,`docker pull docker2021ne/jdk1.8:0713`\[3\]。 #### 引用[.reference_title] - *1* *2* *3* [Docker push命令使用 Docker镜像推送到远程仓库 Docker镜像推送Dockerhub](https://blog.csdn.net/HaHa_Sir/article/details/119412754)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值