易陆发现互联网技术论坛

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

cenos8 stream版本安装podman配置

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

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

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

x
1、安装 Podman 和 Podman-Compose。$ X5 s0 d/ Y  k- [- m7 @9 V
8 g' }" L+ A" l, F: C( b
1)安装 Podman:
7 o. f6 m; [, Q4 s4 m" i$ k% _: {; J6 \* }) o: {
[root@host ~]# dnf install podman podman-plugins cockpit cockpit-podman
: ~7 i2 i3 \: ]: X: @* [: T[root@host ~]# systemctl enable --now podman
$ k9 s" @; x+ I3 l  X[root@host ~]# systemctl enable --now cockpit.socket
8 @5 _& J) v: b2 R( U  U" f+ G安装cockpit和cockpit-podman后,可以通过【https://ip:9090】来管理容器。8 X1 L/ t9 Z% J- h6 |8 X
: i( }- ], I+ j& A8 k
2)安装 Podman-Compose:. i% p1 g* u1 x/ J4 ~9 H( I
8 i' D& d, m- ?" }
[root@host ~]# dnf install python3
9 M* t( j2 u: J+ y1 k[root@host ~]# pip3 install podman-compose3 D9 D$ y  I3 ]9 l
程序安装位置:+ h9 V  _+ U. R8 A! b  U, l3 b
镜像管理程序:/usr/bin/podman* a+ _2 y& O9 [) R: H
编译文件执行程序:/usr/local/bin/podman-compose
* Z3 \" ]! c9 H: J2 R9 I& `- K配置文件目录:/etc/containers,/usr/share/containers* o5 k# v0 w. B0 Y$ d

# _  w! [8 o  C6 M) F更新5 N1 u! I0 N3 b

6 Z: ^6 P0 |  {+ T4 T* s[root@host ~]# dnf upgrade podman% H: k# J  q2 k) q$ ?: [" Y) f' d
[root@host ~]# pip3 install -U podman-compose
* W) T; g" V. u7 b6 [2 w' Z) z; I5 t: Z7 `& G- O) t
2、设置国内镜像仓库加速器。
& {! i/ i7 L2 F* N; E  l8 ^7 {) |8 @' ]! ~- p  d% i$ i# q1 I
1)备份原配置文件:6 M- {1 S" c3 o' o
1 @# W& t" A2 y5 E/ e0 Q2 F& R, Q
[root@host ~]# cp /etc/containers/registries.conf{,.bak}
5 ?% ?0 X( P+ S. x" L2)使用文本编辑器打开配置文件:
1 E! B* |" _& Z- t6 E. G& i; b, f3 y
[root@host ~]# vim /etc/containers/registries.conf5 ]" Q8 z. K  f0 d" ^- e
3)删除原有内容,重新编写文件内容后保存:! h/ o# l2 s9 O' H" [, a/ T
7 b* o6 u6 @. O3 e: [2 Z* h
unqualified-search-registries = ["docker.io"]
. v2 K( b+ E% Z. \! _, h$ Q( e& K' U1 ]. W
[[registry]]
3 _# L" q# M+ |1 fprefix = "docker.io"# D4 h$ v# J3 Y7 ?8 U$ g$ ?, F0 e1 d6 c
location = "docker.io"# P3 ~) E3 o* G9 R$ d# e

/ W1 r  v7 d/ x# j[[registry.mirror]]' C) i$ S; g$ j
location = "mirrors.tuna.tsinghua.edu.cn"
3 Q( B1 }' d% j/ y3 B
# U# p6 w8 U" j! p" B
  w/ t$ ?3 V5 T! @" G4、设置镜像仓库和运行时目录。
* R" x) L5 U2 V: K# o1 S$ n, m$ y) Q: \4 T  y6 d/ I
1)创建镜像仓库目录:
- o" q8 a/ h; c) o& y) n( s7 A5 K, i
[root@host ~]# mkdir -p /data/containers/{run,graph}
6 V7 A( S: _0 ?/ k& q  B2)备份原配置文件:
% K: C! c0 D- S" v% R/ J
& Q& w2 v( e. N2 J9 x+ n1 ?3 u[root@host ~]# cp /etc/containers/storage.conf{,.bak}
. R7 F/ e. @7 R2 l; m  ~2 R3)使用文本编辑器打开配置文件:& e6 {5 r& E3 R- c5 z
9 Q  M, {* ?) c* M3 y
[root@host ~]# vim /etc/containers/storage.conf
4 R7 o! |- f. [' K( |4)修改文件以下内容后保存:
: h3 L+ S  A1 M1 G1 L: p" z2 k, j
& Y" b0 T2 s* y# root 用户运行时目录' N1 D8 D" r6 q4 t; l0 a
runroot = "/data/containers/run"
6 @# }6 m" C7 |9 V3 k
; X' u; ]0 y0 Z( U6 F- `2 S4 k# root 用户镜像仓库目录5 u! Q5 u) t2 ]; G" u
graphroot = "/data/containers/graph"
3 ~  w0 {: ^  ?" o  f0 k9 l3 Z
$ g% h, J3 k4 N5、修改 SELinux 配置文件,永久关闭 SELinux。- d5 j2 s! t4 ^' V5 n( [% @

% H3 _) |7 }" O; R7 R8 E$ |使用文本编辑器打开"/etc/selinux/config"文件:0 |$ |7 k& A+ A+ h9 f3 r
" U+ ^' F; n& b
[root@host ~]# vim /etc/selinux/config
3 x' t: a5 Z( p将 "SELINUX" 参数设置为:"permissive" 或者 "disabled",并保存:. [$ m5 n! i( }! u

. K8 @  p7 k" ]# a5 g/ [
. J( f" X5 T# J8 I/ Q#     enforcing - 表示启用 SELinux 安全策略。
( \$ f( `' }) m2 e" U( Y, D#     permissive - 表示启用 SELinux 安全策略,但不强制验证。如果执行第一步可以正常运行,则建议设置此值。
( y; `6 K  E& a- b5 [#     disabled - 关闭 SELinux 安全策略,相当于没有安装 SELinux。
) o0 ~6 b! P" b# ISELINUX=disabled9 G% q* s; N( a* t

2 W) I2 l3 l( m1 D+ z1 X1 _3 ~4 l, W3 x3 d# I# Y  G, _
重启服务器:
; L7 S  @+ h+ F9 ]1 r  n
$ o$ q/ [3 `5 ?/ O" h1 P[root@host ~]# shutdown -r now
% ]- V: L2 a" F- h( ?  U7 @/ h  u6 I
/ B3 B: F1 ~7 R+ U3 r1 r' `3 P
 楼主| 发表于 2023-2-11 17:30:02 | 显示全部楼层
podman的配置文件 /etc/containers/registries.conf
- x4 t, p" e3 X全局配置文件: /etc/containers/registries.conf( ~' Q- V/ E# f+ [2 i2 r  O6 g
用户配置文件: ~/.config/containers/registries.conf
6 h& ]0 n: y7 g6 x备份原文件
" O/ s9 A) E7 ^) b" l0 v3 ^4 ~4 W, C# w
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.bak
( q% B6 P5 S) F, |' H+ T! }# y5 ^
' T6 R/ f: r* Hsudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%Y-%m-%dT%H:%M:%S"`.bak$ f, M( L; Q. u) k+ N

) @2 B8 H4 t. `1 C: x4 e: \sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%Y%m%d%H%M%S"`.bak
2 D6 B9 {0 u& D; Q7 Q) J
9 J6 I2 i! N, C2 c( H' k. ssudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%y%m%d%H%M%S"`.bak8 o. F6 F- n1 z( f1 h

& l9 b* c7 C8 n& P: v4 K8 Q% R[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir& ~2 ]' z) g3 g/ ~6 Q
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak; _7 k/ J/ E/ a% x, T* b$ D

0 }8 |- F7 w; ]* X) r2 F- {4 q编辑
$ a3 p! O* O$ _6 A. L. S6 E
# m3 E1 w7 p( w6 l9 y# |sudo vi /etc/containers/registries.conf
( C; W; N( }1 j0 g* i' o' J7 U: u& g
sudo vi ~/.config/containers/registries.conf1 h. C' h0 C  Y5 ?0 Q; h; n
7 J& o1 ^) ~4 ^1 i) T4 I" t0 e
查看4 b( ]: [' B; F. [2 C+ |( `$ P9 `
9 X0 S" l# @+ ?& i  ^3 O3 ^$ K
sudo cat /etc/containers/registries.conf
) e' l9 a/ V( j( H; R& e) V7 ~/ u1 a, D7 i$ M8 _# v7 a
sudo cat ~/.config/containers/registries.conf, X9 w0 N9 y+ `: r6 s) H6 x
" \/ E( O1 ?" Y- N7 j
sudo more /etc/containers/registries.conf* K! X  c/ `/ [5 _) H, [, l
- c+ B0 Z8 ^. _7 \
sudo less /etc/containers/registries.conf% o2 N0 Z, }' P5 j7 J3 G
. @1 U5 g! i3 x9 C
其中prefix是pull的时候指定的镜像前缀,location是获取镜像的地址,如果不指定prefix则默认和location一致。insecure=true表示允许通过HTTP协议来获取镜像,对于私有化部署/内网测试环境下无https证书的环境来说很有帮助。! N2 |1 v& _% N  h* n

- C4 @; @* N4 B. b" |; V' r3 \# y配置单个镜像源
& v5 j" R* _) L* C
) i  K2 C6 R1 {8 y使用中科大源
* {5 l* {6 ?" O* z
% k6 a, V: g& P' i# n2 X# F###  CentOS9原版 unqualified-search-registries& D- O1 r6 L+ H) D+ M* u
# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "quay.io", "docker.io"]
- x' U: ~% u. M) B( Z  B
* Q# W; F# J; V4 W/ K/ Y###  Fedora36原版 unqualified-search-registries
" y, Q$ T1 Z. `" ^2 g# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "docker.io", "quay.io"]
3 c6 |" w& O- o" I6 L7 {2 n8 Z; P+ U) [5 b
###  Rocky9原版 unqualified-search-registries* L9 O: S& A0 j9 P( ^
# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "quay.io", "docker.io"]' [: o3 h* l) t0 m+ m  ]: R

% X6 r$ n' U" I. o; K5 l###  AlmaLinux9原版 unqualified-search-registries4 s9 w2 T$ g: l( t! u2 O) o6 L
# unqualified-search-registries = ["registry.access.redhat.com", "registry.redhat.io", "docker.io"]( X/ ?+ b8 B8 y' A- [& M1 }5 p
# T9 g/ v2 w2 P; P3 h
### 取消从默认地址搜索的仓库域名
% V2 h% w: x- i) B' e# `* R! N( Sunqualified-search-registries = ["docker.io"]# e$ K* `% P8 W- O6 t7 V* |

/ a9 C/ G) A6 F9 L3 t6 G4 Q### 自定义搜索器
5 \* f; I8 c( o& f, C+ I& q, Z[[registry]]
) m7 j2 \/ I2 q8 y8 Q4 ^# @7 A### 仓库前缀" v' U% `0 ?1 b
prefix = "docker.io"
5 j$ w/ G7 o9 |% l# s0 s8 n4 G### 加速器地址
# G, o; s0 K2 Q8 v2 {1 Y: E2 w& c( Llocation = "docker.mirrors.ustc.edu.cn"  x& k3 B# g3 G4 o
### 允许通过http协议获取镜像$ p- o. L" d& X& Y1 w$ z3 n
insecure = true
* J" u) o' {5 w3 y% n8 o- Y/ ~8 z1 j8 o, y( ]$ B6 {: i
+ @$ R. \; B* a- M# L

1 \8 a& u9 a$ N) [4 l) K' F4 S8 ^; M  s" n6 m3 }
使用docker中国区的源5 c/ e' r  s7 g9 g7 M( T9 R; y1 w
5 O. y  ]" K! h- C
unqualified-search-registries = ["docker.io"]
( I; E( w; A" c0 m% l
/ Y: f+ n4 O$ A* m& B, f( z' @[[registry]]" o& K0 G) ?) t/ j7 g: q% i
prefix = "docker.io"/ |2 v2 p  V, ]9 {1 X
location = "registry.docker-cn.com"
* X& ]$ u' a1 N4 }5 J. rinsecure = true
/ l( m& T' I# w' M8 u& ~% u" K4 ^8 Q
+ q& T% n, i, d3 U( E* |( j% \5 S2 x, I! g9 @
使用163源" m* z) K5 G3 V- g/ l

8 S, c% H2 g% O6 ?: Ounqualified-search-registries = ["docker.io"]2 f6 U0 \: K, I8 `2 x0 V$ U7 N
+ T' @: C9 v/ u/ e( d0 ]
[[registry]]
. ?# [- B/ h! C/ c$ Jprefix = "docker.io"
" `/ h$ y$ }, z  c5 H% slocation = "hub-mirror.c.163.com"
* f* Z) |# z% w# h* j% _insecure = true5 S' A0 l" c8 @( x+ ]: R

9 {' l3 N/ z6 h8 ~. a
6 u# g* C) U* p7 S使用阿里源7 V% H5 M( L" R
/ W% M2 h* U$ s  c  g
unqualified-search-registries = ["docker.io"]
* e* G+ }2 J* x& Y& W8 V% J* e
[[registry]]( ~3 V, r( ?8 y4 {- F! V$ q1 s
prefix = "docker.io"
3 m0 _/ ^; E7 Y- a4 K1 Ylocation = "xxxxxx.mirror.aliyuncs.com"
2 r) E+ s! g2 z% i5 G
' p, ^4 E% r! W0 r7 {% J3 t/ Y( d: L2 B' ?
2 S* A6 V" v+ u0 r/ d" S# @; R
配置多个镜像源$ Z5 [1 F: t8 t- I; `
$ T3 P& }5 O! h( G6 D& P1 y
unqualified-search-registries = ["docker.io"]
1 s, L- g% n- f6 w" j% A+ `6 S2 [$ H) Q' O- n
[[registry]]; ~+ `8 M2 G; q) {4 c
prefix = "docker.io". G$ w& X4 b6 ]5 P
location = "hub-mirror.c.163.com", N  e, Y! @# o( C! R: ?4 V
insecure = true
) C" c2 [" z  n$ K9 S
' r" ~: Q4 v5 S5 C3 O; m. ?[[registry.mirror]]7 `6 B( o. ?4 q$ W6 ?
location = "docker.mirrors.ustc.edu.cn"
0 \& U. @4 b1 V$ |! pinsecure = true
5 P' q6 g8 O* z; t; Q; x2 g[[registry.mirror]]
7 p7 C+ C6 b- B* |! F: Q+ flocation = "hub-mirror.c.163.com"8 q- x. D$ O" `, t8 X8 |( L: Q
insecure = true( C. U$ ?  {  B+ V2 ]% s
[[registry.mirror]]
$ }' X/ Z- D' X: }location = "registry.docker-cn.com"& y+ ~& A6 F5 x6 i' R* z# o
insecure = true
/ g8 s1 K! W& X( ^  O- x2 H: n; o! V) w& f  d6 @) D
用脚本配置
& ]7 a8 |- a$ a3 l3 o: G2 s. E0 W- y1 \! }) i, P( v
#!/bin/bash, s/ V% j8 a( t! r$ y$ f- x9 ?: Z! i
[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir
% X! K$ G% J2 @4 l# J; c# ~sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak4 N( i# [1 _+ a
printf '/ x. l( u+ p  h1 ^# a9 B- N
unqualified-search-registries = ["docker.io"]$ U0 x5 P5 T$ B4 n7 u0 S& Y
# W4 _" _0 n2 J3 w7 M. a% E& ]
[[registry]]
* V- u9 e* P, d: Q5 Z1 @5 H: Gprefix = "docker.io"" S* Q: s9 R" a: B# ?( c+ f
location = "hub-mirror.c.163.com"1 v& I% y! [( R" I% p- b+ o" Y$ B
insecure = true7 C5 D9 ^, N$ G( j
[[registry.mirror]]
4 p+ f( X/ W. `& i5 Ulocation = "docker.mirrors.ustc.edu.cn"7 |: }/ W! O4 ^5 |9 z2 m( m- `8 Q
insecure = true/ c; r5 Z  Q. P4 M
[[registry.mirror]]: @0 S+ L% N: T
location = "hub-mirror.c.163.com"
2 q* E! r' i: q( a4 i% h: I2 L8 pinsecure = true
' V0 |0 A6 r5 z5 n[[registry.mirror]]
; {% `/ ^/ j! l! K* ?# L# Zlocation = "registry.docker-cn.com"5 ?2 h" M- M$ Q# l1 T: I
insecure = true
0 [: U5 s% ]% Q+ Q7 n' | sudo tee /etc/containers/registries.conf2 w, ^2 G8 c' ]# s" G3 M6 C

* m) S8 F# S" v8 Q2 C2 u, v* [
. l4 R, ~7 V- `! ^3 x5 ?* [1 ^4 a测试,查看信息0 F; r7 R& l& v# @1 M
9 n4 g* ~( s. P$ @5 V
sudo podman run hello-world
7 x/ L" P  }7 A9 y& A& Y9 A" Y' ?* L2 Z5 w) m
sudo podman info
$ s& s% Q/ ?/ y* H1 V
: O  L* c" J1 v6 e: D! E8 W) ^) M. |* S/ e. h. t0 B7 w
 楼主| 发表于 2023-2-11 21:49:24 | 显示全部楼层
安装podman:; v# y1 c- ~* y: C
dnf install -y @container-tools6 H" X9 A; a4 A3 r
dnf install -y podman
) H: v, o& R% K4 ]安装podman:
) U3 S% s. G! @$ i  p/ F/ J  U+ ldnf install -y @container-tools
0 L" l3 y) |5 n! I4 K% f' @- Qdnf install -y podman
; r# ]  e9 r- P* I' K  E- J' S" H( R6 G0 j
备份文件:
6 e) ^. \4 Y4 ~! h0 Ucp /etc/containers/registries.conf{,.bak}
4 O( n4 o, z. }! s4 d
! p2 ~3 C- @1 P2 e- t$ H修改文件:* {9 O- b# j. a  D% t
vim /etc/containers/registries.conf: n/ w7 `& ?) V4 a0 h2 ^; ^% h* p
去掉红帽的哪些配置,只保留下面的配置:
- ]- d6 c0 w% s7 gunqualified-search-registries = ["docker.io"]0 C- P! x2 \: @0 Z/ q+ p: E
unqualified-search-registries = ["docker.io"]$ v, _% X, H5 M1 y( H1 X& D! a. O
[[registry]]
% k5 j0 u& v2 v4 y' F! B; mprefix = "docker.io"
0 T. [  {2 b9 b( a; ?location = "docker.io"5 G# @9 y6 C: `' C# O6 S

5 W( E- Y' g/ o# |" h* k) \[[registry.mirror]]
& O" I. C" Z3 G* r8 K; U& Plocation = "mirror.baidubce.com"
4 R7 Z; Q" f$ ]7 a9 ^( m; g6 Y
' e! Y6 E( F; j, i. L8 X2 g1 b# q
dnf install -y podman
dnf install -y podman podman-plugins cockpit cockpit-podman
systemctl enable --now podman.service
systemctl enable --now cockpit.socket

$ t  N/ t" g! R* i2 P% _3 U4 ~4 ?) ]3 o$ G
您需要登录后才可以回帖 登录 | 开始注册

本版积分规则

关闭

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

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

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

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

Powered by Discuz! X3.4 Licensed

© 2012-2025 Discuz! Team.

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