云网牛站
所在位置:首页 > Linux教程 > 使用Podman将Docker映像发布到Docker Hub的方法

使用Podman将Docker映像发布到Docker Hub的方法

2020-01-11 08:53:31作者:项中强稿源:云网牛站

在本文中,我们将介绍如何使用Podman创建Docker映像并将其发布/推送到Docker Hub的方法。Podman是一种用于管理容器和Pod的工具,所有容器和Pod均作为Podman工具的子进程创建,Podman的CLI(podman)基于Docker CLI。在开始之前,请确保已在系统中安装了podman,参考在CentOS 8/RHEL 8系统上安装和使用Podman的方法

 

先决操作

创建您的Docker映像,为此,我将创建一个简单的Node.js应用程序:

$ mkdir ~/docker-images/demo/

$ cd ~/docker-images/demo/

这是我的app.js文件:

$ vim app.js

const http = require('http');

const os = require('os');

console.log("Node server starting...");

var handler = function(request, response) {

console.log("Received request from " + request.connection.remoteAddress);

response.writeHead(200);

response.end("You've hit " + os.hostname() + "\n");

};

var www = http.createServer(handler);

www.listen(8080);

创建Dockerfile:

$ vim Dockerfile

FROM node

ADD app.js /app.js

ENTRYPOINT ["node", "app.js"]

用tag构建image:

$ podman build -t docker.io/jmutai/nodejs-demo:v1 .

STEP 1: FROM node

STEP 2: ADD app.js /app.js

afbd0b73b68748a693427c1ed7bf4a40d293632691b385a565a40d0d1092b4de

STEP 3: ENTRYPOINT ["node", "app.js"]

STEP 4: COMMIT docker.io/jmutai/nodejs-demo:v1

ffe0449e93f36fddecc71e701a6011dbbfa0cfcdf6565209c84b845bfca60bae

注:将docker.io/jmutai/nodejs-demo:v1替换为您的应用程序的tag。

登录Docker Hub:

$ podman login docker.io                           

Username: jmutai

Password: 

Login Succeeded!

由于我已经按照Docker Hub要求的格式在构建时标记了映像,因此可以直接推送它:

$ podman push docker.io/jmutai/nodejs-demo:v1

 

使用podman从Docker Hub中提取Docker映像

然后,您可以通过运行以下命令在其他计算机上提取图像:

1、使用docker客户端:

$ docker pull docker.io/jmutai/nodejs-demo:v1

$ docker pull jmutai/nodejs-demo:v1

2、使用podman:

$ podman pull docker.io/jmutai/nodejs-demo:v1

$ podman pull jmutai/nodejs-demo:v1

运行一个测试容器:

1、使用podman:

$ podman  run --name nodejs-demo -p 8080:8080 -d docker.io/jmutai/nodejs-demo:v1

d1a669579a39580fd1dfa19aaeed2c7a29aa28a1324d87c301d20f41e30e014f

2、使用Docker:

$ docker run --name nodejs-demo -p 8080:8080 -d docker.io/jmutai/nodejs-demo:v1

现在尝试访问位于http://localhost:8080的应用程序(如有必要,将localhost替换为Docker主机的主机名或IP):

$ curl localhost:8080

You've hit d1a669579a39

确认容器ID以验证输出:

$ podman ps

使用Podman将Docker映像发布到Docker Hub的方法

清洁环境:

$ podman rm -f d1a669579a39

$ docker rm -f d1a669579a39

至此,操作完成。

 

相关主题

使用Podman运行Docker容器的方法

精选文章
热门文章