使用 Docker 构建一个容器应用(二)

CodePathfinderPro
• 阅读 1655

上一章 介绍了如何打包一个 Docker 镜像,这一章我们来讲解一下如何将自己打包的镜像发布到线上,然后实现镜像共享。

先来理一下思路,思路就是把我们本地打包的镜像放到云上,然后在其他任何地方从云上拉取这个镜像,然后镜像从云上拉下来以后就变成本地镜像了,本地镜像怎么跑大家应该都知道了。OK,我们马上开始:

第一步:将镜像上传到云

说到云,我们上传到哪个云呢?百度云,阿里云那都不太现实,我们使用 Docker 官方的云空间,Docker Hub ,不过 Docker 云的私有镜像仓库超过一个是要收费的,所以你也可以自己搭建一个云空间,省点钱。

打开 Docker Hub 先注册一个账号,注册完成后,我们点这个按钮,进入新建仓库界面:

使用 Docker 构建一个容器应用(二)

为我们的仓库指定一个名字,就叫做 helloworld 吧,Docker 的仓库名不允许大写字母。

使用 Docker 构建一个容器应用(二)

现在开始准备我们的上传镜像吧,我们先用 docker image ls 列出我们的镜像,我们准备上传我们第一章打包的镜像 myapp

使用 Docker 构建一个容器应用(二)

首先,我们在命令行输入 docker login 登录我们的 Docker 账号,然后我们为本地镜像指定一个远程仓库和镜像名称,我们这么写:

# 这行指令的意思就是为你的本地镜像指定一个远程的仓库和镜像名
# 就像是 FTP 协议会使用两个端口,一个用于控制,一个用于传输,现在就是控制的那一步,下一步将开始传输
# Docker Hub ID 就是你的 Docker 账号 ID,你应该可以在 Docker Hub 界面找到它!
docker image tag myapp:1.0 <Docker Hub ID>/helloworld:1.0

我们现在已经指定好了仓库名和镜像名称,我们现在进行上传工作

docker image push <Docker Hub ID>/helloworld:1.0

上传完成后打开我们的 Docker Hub 仓库界面,可以看到我们的镜像已经上传成功啦!

使用 Docker 构建一个容器应用(二)

第二步:拉取镜像

拉取镜像这一步就比较简单了,想象你的镜像是一个著名的镜像,类似于 mysql、Node 这种大镜像,你现在就像使用知名镜像一样,使用自己的镜像吧!

# 拉取镜像
docker pull a1029563229/helloworld:latest

# 查看镜像列表
docker image ls

拉取完成后你就可以在镜像列表看到你的镜像了,现在我们来运行它吧!

# 运行容器
docker container run --publish 8888:8000 --detach --name helloworld a1029563229/helloworld:1.0

# 查看运行中的容器
docker ps

容器运行后,我们此刻应该信心百倍,打开浏览器,输入 http://localhost:8888,我们成功了!

使用 Docker 构建一个容器应用(二)

原文地址,欢迎 Star

源码地址,欢迎 Star

点赞
收藏
评论区
推荐文章
Stella981 Stella981
4年前
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解
Opencv中Mat矩阵相乘——点乘、dot、mul运算详解2016年09月02日00:00:36 \牧野(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fme.csdn.net%2Fdcrmg) 阅读数:59593
Stella981 Stella981
4年前
Docker Compose安装
1.Docker社区开发了很多工具,用于对多个docker容器进行编配。编配的过程实际上就是管理运行在多个docker容器里面的应用,而这些docker容器可能运行在多个不同的宿主机上。2.DockerCompose是一个比较简单的docker容器的编配工具,以前的名称叫Fig,由Orchard团队开发的开源Docker编配工具,在2014年被Do
Stella981 Stella981
4年前
Jenkins使用docker构建
Jenkins使用docker构建Jenkinsmaster要将构建任务分配给Docker,就必须在Jenkinsagent上安装Docker。建议给这些agent打上docker的标签。在Jenkinsagent上安装Docker注意要将Jenkinsagent的用户加入Docker的
Stella981 Stella981
4年前
Docker:dockerfile构建php项目 [八]
一、把项目封装成docker镜像的步骤把项目封装成docker镜像的步骤:1、先运行一个基础容器,手动制作docker镜像2、编写dockerfile,构建镜像3、测试运行二、dockerfile常用指令参考1、dockerfile常用指令:
Stella981 Stella981
4年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Stella981 Stella981
4年前
36. docker swarm docker secret 的使用和管理
1.secretmanagement的作用  用来存储其他人不想看到的数据2.secretmanagement   存在swarmmanager节点raftdatabase里。  secret可以assign给一个service(orcontainer),这个sevice就能看到这个secret了 
Easter79 Easter79
4年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Stella981 Stella981
4年前
Docker Swarm资源管理
DockerSwarmDockerSwarm是Docker官方项目之一,是使用SwarmKit构建的Docker引擎内置的集群管理和编排工具,提供Docker容器集群服务,是Docker官方对容器云生态进行支持的核心方案。使用它,用户可以将多个Docker主机封装为单个大型虚拟Docker主机,快速打造一套容器云平台。节点运
Stella981 Stella981
4年前
Docker 容器健康检查
!DOCKERHEALTHCHECK(https://imgblog.csdnimg.cn/20210120134741738.jpg)Docker容器健康检查指的是在Dockerfile中使用HEALTHCHECK指令对容器的运行状态进行检查,并在dockerps的STATUS栏显示healthy/unhealt
Stella981 Stella981
4年前
CentOS7安装Docker详细实践
一、Docker简介Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 一个完整的Docker有以下几个部分组成:1.DockerClient客户端2.DockerDae
Stella981 Stella981
4年前
Docker镜像优化:从1.16GB到22.4MB
Docker是一个供软件开发人员和系统管理员使用容器构建、运行和与分享应用程序的平台。容器是在独立环境中运行的进程,它运行在自己的文件系统上,该文件系统是使用docker镜像构建的。镜像中包含运行应用程序所需的一切(编译后的代码、依赖项、库等等)。镜像使用Dockerfile文件定义。术语dockerization或containeriz