易陆发现互联网技术论坛

 找回密码
 开始注册
查看: 1625|回复: 2
收起左侧

cenos8 stream版本安装podman配置

[复制链接]
发表于 2023-2-11 17:30:01 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?开始注册

x
1、安装 Podman 和 Podman-Compose。
: t+ }+ a, d/ v; P5 p/ z, p& f* \( ~9 e, x% z/ L$ @
1)安装 Podman:
% a0 N9 U  B( g8 d9 e& Z) q' Z4 w, Z2 f* t
[root@host ~]# dnf install podman podman-plugins cockpit cockpit-podman
1 V: t* s7 S& k: k* k[root@host ~]# systemctl enable --now podman* X* ~1 z' J# R/ k0 V; M
[root@host ~]# systemctl enable --now cockpit.socket$ B$ t+ r1 G& g
安装cockpit和cockpit-podman后,可以通过【https://ip:9090】来管理容器。
6 s: O8 B# r3 q% a7 D" o, w5 W2 C* h3 `
2)安装 Podman-Compose:
, V7 E1 X, m# r  }, X. U! b( p  l
/ u3 r+ N& H4 q- R2 M4 M[root@host ~]# dnf install python3
7 k0 A  Z+ o2 E9 M9 y& }8 r5 x[root@host ~]# pip3 install podman-compose
5 {9 t- w4 n( r程序安装位置:
8 ?% h$ m* h4 L, {% u镜像管理程序:/usr/bin/podman8 G' s& h; x' Z7 G
编译文件执行程序:/usr/local/bin/podman-compose1 S1 `7 P) A" M' q
配置文件目录:/etc/containers,/usr/share/containers5 o% y! ]  c8 Y- {

. q' Y; F/ H' D4 _更新
, [, v* G/ u6 f& |$ G- Z5 ~6 U' _6 F, o1 q* W
[root@host ~]# dnf upgrade podman6 @/ y# R) m) ]
[root@host ~]# pip3 install -U podman-compose
& L/ k. b# L# h/ S' J! O  L2 J: ^1 Q0 O/ K) a$ p; e; t: q
2、设置国内镜像仓库加速器。
" u5 C$ m/ L. V* r
0 ^; o  |3 c/ z6 K9 ~' w( v* U5 n- F1)备份原配置文件:& E+ x+ p1 {! n7 O- k# m
  w/ B7 T$ f: g& r# s
[root@host ~]# cp /etc/containers/registries.conf{,.bak}+ v4 d8 c' m/ H: Q2 Z
2)使用文本编辑器打开配置文件:7 V4 I  K3 h, w1 q' l. U8 M2 J
$ R+ c) C1 n: ?. z" Q2 i
[root@host ~]# vim /etc/containers/registries.conf
! b1 r  u* e1 R$ K- C) H3)删除原有内容,重新编写文件内容后保存:
* D( n, h) S5 X: h! d  x/ q8 p; }( _4 S/ T; Y
unqualified-search-registries = ["docker.io"]8 ~7 a$ v- Y9 Y
1 C6 z; O8 J7 K5 f/ G4 C, R
[[registry]]
0 T" Z# i* j% }1 L( zprefix = "docker.io": E5 s# A, g6 s; s" T6 i4 h7 w; C
location = "docker.io"* j: v$ Q4 r+ y9 K9 x0 N

! Y. K3 d# k& T0 L' l3 `[[registry.mirror]]- N: y3 k) j: J' e
location = "mirrors.tuna.tsinghua.edu.cn"# k) z' c. }9 L; p
3 X! }6 N8 |  C3 Q
" r/ R: i& p9 p' F: C5 T7 L
4、设置镜像仓库和运行时目录。
; s  S4 ]' a5 ?
4 ~9 }8 \7 T  j- G7 h" L8 R1)创建镜像仓库目录:
$ S; A0 G5 [+ C; e: w1 n/ d! g; L" E5 l
[root@host ~]# mkdir -p /data/containers/{run,graph}
1 X6 u( f" c7 ]/ s: A2)备份原配置文件:
/ l3 d9 `2 ]  G$ X* j9 L( U  Y5 P) N9 ]* r  f8 d- r
[root@host ~]# cp /etc/containers/storage.conf{,.bak}. ], ]5 ]+ Q5 P: I+ A1 U8 e* J7 E1 ~
3)使用文本编辑器打开配置文件:& I* c: Q1 y5 e5 c9 K5 W

' A. M/ e# b8 x  C[root@host ~]# vim /etc/containers/storage.conf# [1 e4 j! ^# E
4)修改文件以下内容后保存:1 h9 D* F4 ^9 X" \
) o0 \4 @: a4 X9 M+ t5 g9 x: z$ U
# root 用户运行时目录
" X; p1 }' Q% O% Grunroot = "/data/containers/run"5 O- R* N4 x# h- s4 c& ]; b4 d- k
; Y6 Z' n( O% H; }
# root 用户镜像仓库目录( C) L6 u, X- \2 @* n
graphroot = "/data/containers/graph"6 X0 w7 s: K* y) k; g. v# w

9 W& y. Q' u8 A! H5 K2 t5、修改 SELinux 配置文件,永久关闭 SELinux。) [+ z8 N- U5 r( p

* x+ H# G3 p2 Q, X* C8 N. o使用文本编辑器打开"/etc/selinux/config"文件:/ ^! a5 I) A2 B, o2 W: S( Y

/ y/ T9 K+ m. g& f; B5 T3 x[root@host ~]# vim /etc/selinux/config
+ S9 H; ]9 i, M, n3 m/ H将 "SELINUX" 参数设置为:"permissive" 或者 "disabled",并保存:
, q0 d& v, r* \/ O, \( y3 d& }! ^: }! t9 y

- V. d. }% E+ ]; J! y#     enforcing - 表示启用 SELinux 安全策略。- a; ^1 q: ~/ w4 b1 ]
#     permissive - 表示启用 SELinux 安全策略,但不强制验证。如果执行第一步可以正常运行,则建议设置此值。5 V  L$ Z" R6 {/ s% k' K
#     disabled - 关闭 SELinux 安全策略,相当于没有安装 SELinux。1 y; h  ]5 @* U/ o7 u9 w+ l
SELINUX=disabled
- L* i+ O1 I, N8 x  y$ y; }% b& ^, j: S# G5 R6 p

5 Q* Y8 y! A* t0 N' Y: _5 _重启服务器:
/ P. t4 N5 [6 W# h7 D# H2 T
% F6 z0 k& l( @* `% k# w  t" Z[root@host ~]# shutdown -r now
* J) s: p* E, E9 ^1 @+ ?9 A- ?% c5 ^: R9 f3 R7 q" W
 楼主| 发表于 2023-2-11 17:30:02 | 显示全部楼层
podman的配置文件 /etc/containers/registries.conf
( C/ r9 r' W( T7 ^% H2 }全局配置文件: /etc/containers/registries.conf
6 J0 n1 B) a6 Z& I用户配置文件: ~/.config/containers/registries.conf
! G* ?/ e# o( V备份原文件
8 W1 d7 z; G" I7 L2 c1 C
: k2 r9 B, t9 `sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.bak
2 L# N  `( w3 J3 Q0 D5 q$ W' w& `& ^! [, v6 k) B, O2 ^3 P
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%Y-%m-%dT%H:%M:%S"`.bak- c; d! ?6 A8 l* c, U& o! s, l

5 _% R7 J+ t, [# u0 s$ g0 zsudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%Y%m%d%H%M%S"`.bak
3 a  @7 i: H2 K$ C6 I. v; b: |% O5 E% R3 t2 j& r# _' e
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%y%m%d%H%M%S"`.bak/ a* p, \" _. i4 a6 C

5 ]6 T1 w+ D) |( _6 ?) O[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir% w6 ], S( B8 c0 \' T
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak
( r( q0 A7 m* C" U: R
: [5 t" P7 J" T% N编辑. K. w1 _0 B4 H' Y
9 i" c  e+ r5 m; ?
sudo vi /etc/containers/registries.conf  K6 G+ q- B; X9 W, J
$ C" X4 C2 x2 k, c1 K
sudo vi ~/.config/containers/registries.conf/ `  m) k. Z* G  ^5 |: \: o

. B6 ~! z. G2 f# |! k' n% f- ~查看7 ?4 |! H% N+ W/ U
8 M; U- |9 R! E* O# W% h5 s) e7 Q
sudo cat /etc/containers/registries.conf
1 ]( z* \1 e' `4 o6 A% {4 _0 v4 e
( @/ A- G8 K: f' D9 \( B0 C$ Zsudo cat ~/.config/containers/registries.conf7 u" g) L/ E& B5 F+ X; |

) G+ |% x: q% O$ `1 ysudo more /etc/containers/registries.conf
& v, Z0 A# {' N* \  F/ {2 P* y5 q, Z, z+ Z, c  @! u
sudo less /etc/containers/registries.conf
& z( g* ]3 ?6 D8 I5 X5 e- Z
# s' F9 W7 o3 \: F1 D9 J, p其中prefix是pull的时候指定的镜像前缀,location是获取镜像的地址,如果不指定prefix则默认和location一致。insecure=true表示允许通过HTTP协议来获取镜像,对于私有化部署/内网测试环境下无https证书的环境来说很有帮助。# F- e  s) Z/ A6 @7 @

4 _6 G1 c# p; O# U配置单个镜像源: U, ^1 D$ I  E0 n2 G) |

! v- j+ h. _! \( i& k使用中科大源5 B0 {. t% E2 Q3 p1 Y4 P$ I1 r
/ ^% ]; T  P7 b. d* T( u
###  CentOS9原版 unqualified-search-registries
/ S* a% Q0 \) O# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "quay.io", "docker.io"]
) M( G7 I- p+ }# Q2 c
( a8 T" x! ^* x6 m5 M( V###  Fedora36原版 unqualified-search-registries" p" O& S% N, x. K# O; J$ O
# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "docker.io", "quay.io"]9 A% \: P$ p, _0 r. `5 m) Z% K9 Q

$ w/ R7 b# O4 O) R# x###  Rocky9原版 unqualified-search-registries) r/ l2 n+ L% \
# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "quay.io", "docker.io"]9 a; S0 Y) D' x( L: B/ o
+ w  s# i' b* c* h$ O1 n
###  AlmaLinux9原版 unqualified-search-registries
. T+ p" [: U' c, @# u$ X$ v# unqualified-search-registries = ["registry.access.redhat.com", "registry.redhat.io", "docker.io"]  o. t& a  O& F% |5 }

5 [2 M3 \7 W# t3 d' `: ^### 取消从默认地址搜索的仓库域名" z/ ^4 R- {0 Z( d7 `! [+ b
unqualified-search-registries = ["docker.io"], B$ v% m/ G! B/ s4 f
# P6 F( @9 [. T) _5 B/ x
### 自定义搜索器
: v% M" X, C2 [7 x[[registry]]
( b3 R' v0 _: e5 j. ?- i### 仓库前缀1 m; O0 C& l, P! G" F0 A2 Z
prefix = "docker.io"
# @" X7 Q0 \- k5 t8 \0 d1 [1 V) y6 V### 加速器地址
3 m7 j. G. |- q- Z  x, B; t+ Glocation = "docker.mirrors.ustc.edu.cn"
! `/ w- ?; H; p% f! _" i9 u### 允许通过http协议获取镜像. h2 a; i. j; B* p
insecure = true
5 N, p' i* C( J% h
# B* G  _! ~" E2 q
4 @$ X" h; ?% _* g, _
5 R) I  E$ h% i% U- b: w  O2 n/ i; G& G" }& E) {1 c
使用docker中国区的源9 W* m8 r" o4 L# \0 I! ~' x

" z5 q2 w( y1 kunqualified-search-registries = ["docker.io"]
9 O# p; r7 q( h5 O' g- H
/ I: }& K3 J* N9 |& e9 ][[registry]]
9 G1 G$ c/ s; ~. f+ Q" O7 k6 qprefix = "docker.io"
4 _$ N% f/ J7 A- w7 a' Blocation = "registry.docker-cn.com"- z" d; `" h0 A3 ~
insecure = true6 H8 w/ G. Z5 H7 @0 }- a+ u
5 b& M/ I$ ~/ X; h: i3 e( v4 O

+ e) O5 k! v) v3 h* R: C使用163源+ G1 b8 }0 i+ o/ c0 F! B1 j+ B

& f, d- b& @2 A( }unqualified-search-registries = ["docker.io"]
$ t" g7 j  R; Q- `3 Q' G' D& \5 A- T( x3 j2 M8 D0 W
[[registry]]
% f" E' _+ l% S; {" fprefix = "docker.io"9 O9 L/ B: y6 ~, K% c8 Z  H
location = "hub-mirror.c.163.com"4 u" j- K5 S8 d6 d
insecure = true, ]- b2 ]0 X0 x* {# K$ I6 o

; t7 ?3 |, B  B5 P8 J) g4 ?- Q0 D: H5 s
使用阿里源
! R1 @" r3 z/ C% H( _4 p: s( _+ x4 }; b7 W' b
unqualified-search-registries = ["docker.io"]$ V9 }* g+ Q; {$ b. k, E0 ]
  j2 O8 j4 p+ J
[[registry]]
8 ?, G' ?3 R& V7 jprefix = "docker.io"
3 `5 n& V9 E& y, Q" H4 `( Slocation = "xxxxxx.mirror.aliyuncs.com"
) o8 z7 P  E% U( [7 ~. s! [# H  V. g9 D  S- q

! l9 \6 c+ X# T" G. [8 N
2 k* Z" T0 u. h' @5 m2 h配置多个镜像源+ k7 z5 \% I# t1 N

" b% D6 K8 _1 u& Y; }unqualified-search-registries = ["docker.io"]
& g8 u0 V, t+ ]: j7 P  o
( ~- ^3 N3 I5 o; i$ `[[registry]]0 u; w) p4 a+ _) Y
prefix = "docker.io"
' U2 D* j# d& F3 t7 W2 x& ylocation = "hub-mirror.c.163.com"
7 l- e! k- ~( g1 Qinsecure = true
. I7 R" I! ?& b5 v' j% Z) l0 c" ~8 I
[[registry.mirror]]
/ X' t, B1 `* f, rlocation = "docker.mirrors.ustc.edu.cn"
, N3 k) K$ {  ~7 O/ I5 Xinsecure = true
) N- F4 y4 S) L[[registry.mirror]]  F4 N; y% j* g% C3 X
location = "hub-mirror.c.163.com"
2 ]6 s) a1 a% ~" }6 winsecure = true
# @% x; S2 `- M+ Y- T% U  M[[registry.mirror]], M& ?6 Q' S6 C
location = "registry.docker-cn.com") ?( @6 W& j. E$ r
insecure = true4 }! Q3 k' u, r, `
3 F' i" s: _0 C) \+ t/ J/ l  _6 E
用脚本配置  Z% I( T8 o& [1 H8 d; ?, u, A
( L: H& D0 l5 E) }2 c6 j5 f: s
#!/bin/bash# X; a, I1 M9 i  U; I  G. z  i
[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir$ d2 h/ C7 M6 r
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak+ R3 N  v5 u! U4 _$ r
printf '
- `$ ^# D; g& Y' D6 P+ ]/ wunqualified-search-registries = ["docker.io"]2 x' ?2 g2 C+ n

% Y' R6 `4 O# M  C  T2 _/ E* A. S: a0 {[[registry]]
% Y5 _1 I" i  ^& j5 }9 yprefix = "docker.io"
) A5 n% ?% c3 J* M8 L% D, a/ f& Ylocation = "hub-mirror.c.163.com"+ t1 F5 M1 n/ i
insecure = true
7 k5 r1 ]2 D% u: p6 T1 o. j[[registry.mirror]]3 T4 Z3 W0 m0 r/ @6 t" Z2 o
location = "docker.mirrors.ustc.edu.cn"
  r& J8 Y9 O$ s( V1 @insecure = true
2 ]/ F$ G  O! I[[registry.mirror]]
# X# U# l! m  ?! r0 d* flocation = "hub-mirror.c.163.com"
: f) b+ F( i3 p7 n" E6 E/ V# Ginsecure = true
. I2 O& K& Q  L; ?9 I6 i0 I[[registry.mirror]]
$ L# M- G4 n$ w6 K" S  n6 Ilocation = "registry.docker-cn.com"
/ U+ D& ]# O, V1 |( n4 xinsecure = true. d, X5 t! F7 T% R
' | sudo tee /etc/containers/registries.conf
- ^" u2 w# ]- `. ]9 I
: F2 }+ J" g% z( n% ^' a  y. c/ B/ ?
; ?; E/ y+ {( `. e测试,查看信息
. J) M& U- w1 x/ @# g; V8 D0 s. v6 @% C: H, {9 U
sudo podman run hello-world
; z9 X" d$ ?& [# s% F
3 t- ^4 H; m# x, O8 |sudo podman info
& A/ }7 b$ x- @! d& G( N" l0 e  B# @' g0 u) Z
4 F1 ]% c/ I4 x, u8 q0 N4 e$ j
 楼主| 发表于 2023-2-11 21:49:24 | 显示全部楼层
安装podman:7 U9 q5 r2 o6 ]  C, M4 _
dnf install -y @container-tools
& L2 T1 ?: m6 u, v' z, L2 a3 ndnf install -y podman
3 l- ~' r- f4 U1 e% L' X安装podman:3 P) T+ e! ^* R# Q8 @5 K0 i+ d+ d
dnf install -y @container-tools
9 \* K5 r" ]3 L$ Z7 }5 B; v. }dnf install -y podman* H3 c4 S  c1 n5 T2 _, `1 N

* S! m2 Z4 g+ l; D, a7 I/ @. w备份文件:# A- ?3 _4 Y' @. `8 W! ?: _
cp /etc/containers/registries.conf{,.bak}- P  e  {# ?& Z# C4 I! M

0 p) F. ?( w& Z  \, Y/ p6 Q修改文件:" H* ^# B  N3 k4 W( a% T- K
vim /etc/containers/registries.conf
/ ?3 Y* l  I% v- B去掉红帽的哪些配置,只保留下面的配置:
9 L$ B8 m* ~, nunqualified-search-registries = ["docker.io"]. o  ~' H3 O) ^+ V' l) K
unqualified-search-registries = ["docker.io"]0 c0 Q) h# A- G9 |2 _
[[registry]]
: R1 k( Y( l8 T# s7 |prefix = "docker.io"% K( N% l* }: p; G! f
location = "docker.io"3 X5 m) N1 \8 {! ?8 H( Q

$ e% p0 Z& P4 Y4 [[[registry.mirror]]
; ~3 Z9 `- h* X; O# e' x) T5 nlocation = "mirror.baidubce.com"
. c0 V+ c; @  W; I$ D+ X+ H
/ m: E1 f3 o$ m! L* L/ B
dnf install -y podman
dnf install -y podman podman-plugins cockpit cockpit-podman
systemctl enable --now podman.service
systemctl enable --now cockpit.socket

' Q, F. t. u. Q1 U( T& P* O0 B
9 ]8 K! E3 o/ x  [9 t; b3 ?: i3 q
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

站长推荐上一条 /4 下一条

北京云银创陇科技有限公司以云计算运维,代码开发

QQ|返回首页|Archiver|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )点击这里给我发消息

GMT+8, 2026-4-8 21:38 , Processed in 0.043492 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

快速回复 返回顶部 返回列表