Podman 快速入门
今天在某云上新购一台云服务器,发现已经有了 CentOS8.2 官方镜像可选,出于对新鲜事物的好奇,我决定开始采用 CentOS8.2,即使我还没有为它的新特性做好准备。
我的应用主要以单机版容器为主。因此,服务器启动的第一件事就是安装 Docker。不幸的事情发生了,我的 Docker 应用没有像 CentOS7 那样如期 running 起来。
花了大量的时间排查,才找到一丝线索:CentOS8 以上的版本默认已经安装一个等同于 Podman 的容器解决方案。
两个容器解决在一起工作,相互打架的事情必然会发生。出于长治久安的考量,今天整个下午我展开了对 Podman 的研究,得到了如下的结论,希望这些结论能够让大家少走一点弯路。
Podman 与 Docker 哪个好?
对于这种问题,我想没有深刻的实践是无法得出结论的。所以就我个人来说,只能从各种专业博客和论坛中寻找答案。
我发现 Podman 中文相关的资料非常少,同理,评价它的博客就更少了,倒是有一篇非常吸人眼球的文章,例如:Docker 大势已去,Podman 万岁。但认真阅读它,却没有特别有价值的对比,完全是一种主观的表达。因此,我们不要被他人的文章所引导(误导)而形成一种偏见。
Podman 是 RedHat 为了抢占容器标准的一种战略产品,这就是我的看法。
Podman 兼容 Docker吗?
大部分是兼容的,例如:
1.可以直接使用 Docker 镜像
2.命令非常相似
如果你非常怀念 docker命令,甚至可以给 Podman 设置别名为 docker:
echo "alias docker=podman" >> .bashrc
source .bashrc
Podman 镜像
默认镜像库
文件 /etc/containers/registries.conf 是设置镜像地址配置文件,默认会搜索 ['registry.access.redhat.com', 'registry.redhat.io', 'docker.io', 'quay.io']
等几个镜像库。
不过,这几个镜像库下载速度非常慢,可以说是基本无法顺利的将镜像拉下来。
所以,需要修改修改镜像库配置文件,也就是大家说的镜像加速方案。
镜像加速
只需4个步骤实现镜像加速:
1.改名并备份好文件:/etc/containers/registries.conf
2.再新建一个空的 registries.conf 文件,插入如下内容
unqualified-search-registries = ["docker.io"]
[[registry]]
prefix = "docker.io"
location = "******.mirror.aliyuncs.com"
3.修改 location
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com
4.保存
Podman Compose
Podman Compose 等同于 Docker Compose,是用于固化容器运行参数以及协调容器之间的关系的一种较为简单的方案。
使用如下的命令,安装 Podman Compose,并根据自己的喜好设置别名(如果仍然忘不了 docker)
pip3 install podman-compose
echo "alias docker-compose=podman-compose" >> .bashrc
source .bashrc
Podman 外网
如果以普通用户运行容器,此容器默认无法被外网访问,为了避免不必要的麻烦,建议以root用户创建并运行容器。
另外,run 容器的时候,请勿使用 -p 0.0.0.0:9090:80 这种端口映射方式,它会导致容器无法被外网访问。如果采用正常的端口映射方式-p :9090:80,就没有任何问题。
#无法被外网访问
sudo podman run --name phpmyadmin --restart=always -itd -p 0.0.0.0:9090:80 -e
PMA_HOST=10.88.0.1 phpmyadmin/phpmyadmin
#可以被外网访问
sudo podman run --name phpmyadmin --restart=always -itd -p 9090:80 -e
PMA_HOST=10.88.0.1 phpmyadmin/phpmyadmin
本文由Websoft9原创发布,转载请注明出处。
Podman 快速入门的更多相关文章
- Web Api 入门实战 (快速入门+工具使用+不依赖IIS)
平台之大势何人能挡? 带着你的Net飞奔吧!:http://www.cnblogs.com/dunitian/p/4822808.html 屁话我也就不多说了,什么简介的也省了,直接简单概括+demo ...
- SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=》提升)
SignalR快速入门 ~ 仿QQ即时聊天,消息推送,单聊,群聊,多群公聊(基础=>提升,5个Demo贯彻全篇,感兴趣的玩才是真的学) 官方demo:http://www.asp.net/si ...
- 前端开发小白必学技能—非关系数据库又像关系数据库的MongoDB快速入门命令(2)
今天给大家道个歉,没有及时更新MongoDB快速入门的下篇,最近有点小忙,在此向博友们致歉.下面我将简单地说一下mongdb的一些基本命令以及我们日常开发过程中的一些问题.mongodb可以为我们提供 ...
- 【第三篇】ASP.NET MVC快速入门之安全策略(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【番外篇】ASP.NET MVC快速入门之免费jQuery控件库(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- Mybatis框架 的快速入门
MyBatis 简介 什么是 MyBatis? MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架.MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果 ...
- grunt快速入门
快速入门 Grunt和 Grunt 插件是通过 npm 安装并管理的,npm是 Node.js 的包管理器. Grunt 0.4.x 必须配合Node.js >= 0.8.0版本使用.:奇数版本 ...
- 【第一篇】ASP.NET MVC快速入门之数据库操作(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
- 【第四篇】ASP.NET MVC快速入门之完整示例(MVC5+EF6)
目录 [第一篇]ASP.NET MVC快速入门之数据库操作(MVC5+EF6) [第二篇]ASP.NET MVC快速入门之数据注解(MVC5+EF6) [第三篇]ASP.NET MVC快速入门之安全策 ...
随机推荐
- delphi xe 10.3 利用Git组群开发,Git服务器安装,Git 拉取,提交,推送相关设置操作
1. Git服务器安装, 参考 https://blog.csdn.net/u012842630/article/details/97175397 Git服务器官方网站,要FQ. 2. 工具软件 gi ...
- Flask(7)- request 对象
Flask 中很重要的 request 对象 浏览器访问服务端时,向服务端发送请求 Flask 程序使用 request 对象描述请求信息 当你想获取请求体.请求参数.请求头数据的时候,就需要靠 re ...
- Python管道进行数据的吞吐处理
import multiprocessing import random import time import datetime import struct import os import getF ...
- [小技巧] 在bash中生成随机数
译至:http://d.hatena.ne.jp/anmino/20091017/1255705586 bash的SHELL参数RANDOM可以生成0-32767的随机数.想设定从1到N的随机数范围的 ...
- Codeforces Round #732 (Div. 2)【ABCD】
比赛链接:https://codeforces.com/contest/1546 A. AquaMoon and Two Arrays 题意 给出两个大小为 \(n\) 的数组 \(a, b\) ,每 ...
- Djiango 连接数据库mysql 的基本数据操作
1.单表操作 (1) .增加操作 1 # 增加操作 2 def add_person(request): 3 # 1.使用save() 方法 4 # person_obj = models.Perso ...
- 二进制方式搭建Kubernetes集群
环境准备: 演练暂时用单节点一台master和一台node节点来进行部署搭建(kubernetes 1.19版本) 角色 IP 组件 master 10.129.246.114 kube-apiser ...
- 「BZOJ 2956」模积和
「BZOJ 2956」模积和 令 \(l=\min(n,m)\).这个 \(i\neq j\) 非常不优雅,所以我们考虑分开计算,即: \[\begin{aligned} &\sum_{i=1 ...
- [刘阳Java]_精选20道Java多线程面试题
1. 多线程使用的优缺点? 优点: (1)多线程技术使程序的响应速度更快 (2)当前没有进行处理的任务可以将处理器时间让给其它任务 (3)占用大量处理时间的任务可以定期将处理器时间让给其它任务 (4) ...
- [刘阳Java]_MyBatis_其他方式来实现多表查询的操作_第9讲
MyBatis其他方式来实现多表查询的操作 利用Java中的集合框架(List,Map) 其中List存储多个查询返回的记录 Map查询返回字段,同时记录表中一条数据 <?xml version ...