找回密码
 注册
查看: 1628|回复: 2

cenos8 stream版本安装podman配置

[复制链接]

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
发表于 2023-2-11 17:30:01 | 显示全部楼层 |阅读模式
1、安装 Podman 和 Podman-Compose。9 T: D& |# L$ g6 I0 I
* A. Y' ~" w0 Q8 ^+ Q* ~
1)安装 Podman:* ?- x! ]* U6 }4 L( A+ i4 z) r9 y
6 [. v" A: G8 E7 Q0 _, B
[root@host ~]# dnf install podman podman-plugins cockpit cockpit-podman
6 _9 @: @  ~; u9 j" _[root@host ~]# systemctl enable --now podman0 R1 C2 w+ j0 C$ s0 i( C* d1 T
[root@host ~]# systemctl enable --now cockpit.socket' l0 e* I! p8 u- Q( O) w4 G
安装cockpit和cockpit-podman后,可以通过【https://ip:9090】来管理容器。
1 R1 P# l/ S- ]. @
# h- g2 C4 a8 F, L2)安装 Podman-Compose:
* s; d7 Q6 ^: e  J
6 Z, L# J! N# k7 o# H3 M[root@host ~]# dnf install python3
0 f- A1 m" @/ ]$ I[root@host ~]# pip3 install podman-compose: x* r* B/ }$ U) M9 b
程序安装位置:
( {$ l2 }, F4 B& t4 z镜像管理程序:/usr/bin/podman" L0 R# [- k6 |
编译文件执行程序:/usr/local/bin/podman-compose
' x4 j, y# ^7 M! j; U8 p& C配置文件目录:/etc/containers,/usr/share/containers
" I7 a6 ^) \7 a4 O7 ]7 N
4 U8 ?) f1 i3 \5 U更新- J3 [# }0 U! R8 n! D5 y& I/ k

' U( V. J1 ?4 Y7 S1 i; O[root@host ~]# dnf upgrade podman
  L2 a) X) C. N8 [[root@host ~]# pip3 install -U podman-compose
" r% o" A7 N* L( _! E$ s. }; i% |* e3 |( J. ]
2、设置国内镜像仓库加速器。
* k# l* P4 M4 {. I7 T. |8 |1 Y2 V1 _! v+ ]% _
1)备份原配置文件:
& q8 m* \3 J1 n0 G/ Q
8 v7 [8 G/ y/ j7 I- `1 u! ~: J8 S[root@host ~]# cp /etc/containers/registries.conf{,.bak}
- j. F" c+ ?7 d* y% ~3 ]2)使用文本编辑器打开配置文件:+ ?9 Z4 H! [$ y1 `& ~
: Y; E% h  w8 v+ l
[root@host ~]# vim /etc/containers/registries.conf
  G  b  y- Y+ B* l) t6 }3)删除原有内容,重新编写文件内容后保存:
3 v% V" h4 o- ]6 M; v) ~4 o( V1 I
unqualified-search-registries = ["docker.io"]3 F( p2 c( m/ ^" l5 o# \$ E0 ^& p

' R5 E9 w4 y  y4 `& X. z% m1 c[[registry]]
1 i' u5 [" P1 M  E: W! aprefix = "docker.io"1 Q: N4 g" Y8 _6 y8 Y
location = "docker.io"
; j' K4 E6 J3 i! D! D, ], y
( E$ ]' l3 O# S. h. q[[registry.mirror]]2 X( v, u3 J5 @
location = "mirrors.tuna.tsinghua.edu.cn"
+ K3 S1 D  u% g. t' i( Z. M2 b5 `3 B" R+ D# ?

5 v* B# i2 Y7 c! [( }( m4、设置镜像仓库和运行时目录。
$ L' ]% p. `% B' q. B' z4 O4 r+ D6 t( ~  b* `4 n5 }/ ]) d
1)创建镜像仓库目录:# u3 m7 h9 t* t# h( H) a% u3 w8 R

3 U) q  G+ M1 R4 L[root@host ~]# mkdir -p /data/containers/{run,graph}
3 g$ D+ a9 u' ?: f$ e2)备份原配置文件:
) i; A( m5 l9 W+ Q1 q
& r. D5 |: e9 ]5 J+ w, H[root@host ~]# cp /etc/containers/storage.conf{,.bak}9 |6 Y2 d0 C" F) M- [5 W
3)使用文本编辑器打开配置文件:& C, [2 `+ |9 w% {/ D0 ^: ?$ W

, X$ O; J9 O6 _2 [) Z3 E& ?[root@host ~]# vim /etc/containers/storage.conf$ y% V2 \/ A1 s" Q/ W# u! y
4)修改文件以下内容后保存:
4 z- H  c% v( d) b: q8 {
' d" b  P: z! Y$ J- c' C' M# root 用户运行时目录
% R0 h- c9 e" N8 k( v/ Urunroot = "/data/containers/run"
% M- X* d, ~# @5 x6 ?
% F8 X& _9 V, c# root 用户镜像仓库目录
7 I0 W8 r& d7 P* |+ p6 |graphroot = "/data/containers/graph"
1 p! O' w4 w: J% f) v8 Y, I6 e# t' a) L- \- u8 }! o
5、修改 SELinux 配置文件,永久关闭 SELinux。3 l! U* w  o( \' t% h# t
  f- H# F5 w' w) J8 Z
使用文本编辑器打开"/etc/selinux/config"文件:" `' p2 d: |3 n4 I

3 C: o$ [- ~. J; c[root@host ~]# vim /etc/selinux/config
. S7 Q4 V9 m$ r将 "SELINUX" 参数设置为:"permissive" 或者 "disabled",并保存:' P* m+ s( E, }, a6 q

# g, {5 S+ Q/ y/ p$ K8 A- v' O# D
#     enforcing - 表示启用 SELinux 安全策略。/ l7 _/ V7 h7 i
#     permissive - 表示启用 SELinux 安全策略,但不强制验证。如果执行第一步可以正常运行,则建议设置此值。
/ t4 f& Z6 g8 F8 m% ^#     disabled - 关闭 SELinux 安全策略,相当于没有安装 SELinux。
: g/ m+ z' P$ [, N. e  [SELINUX=disabled
3 p$ _$ z" @" F; ?
: V+ ]4 r+ e/ Z! L2 I0 O; l  I2 p5 v. J3 [5 Q
重启服务器:
+ G. D: K, y0 s  h
2 H+ _6 ^! }2 k) ?1 `8 \( A, Z2 X[root@host ~]# shutdown -r now
# N  i+ U! u. V, F, @
; @( h# D! w5 y0 m3 a* F

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2023-2-11 17:30:02 | 显示全部楼层
podman的配置文件 /etc/containers/registries.conf
. `7 \- R3 K; p全局配置文件: /etc/containers/registries.conf
: `3 {5 Y7 W2 W* ]4 F# p  d用户配置文件: ~/.config/containers/registries.conf* Y6 f0 |* q/ {2 _) H
备份原文件0 W* G# E1 T7 V6 }

0 u1 S  F3 F; esudo cp /etc/containers/registries.conf /etc/containers/registries.conf.bak$ o: l# m1 c9 v! Z. g; @
. s8 r0 C8 F. s, B5 L' n
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%Y-%m-%dT%H:%M:%S"`.bak
/ T; R, u6 e( _9 f# m/ h. m# O3 V" w4 `( l6 B, _/ Y+ }2 M+ Y! ~: \( F
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%Y%m%d%H%M%S"`.bak
2 @1 ~3 [0 j# E3 `' G2 v- T- e. M3 E3 \
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.`date "+%y%m%d%H%M%S"`.bak
6 P: x1 I/ T! x7 L4 e( v/ @# k. N5 x- S* O8 E& V" L
[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir
4 m  U: S6 @0 D3 e8 p" S3 Msudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak0 _3 v$ D/ X* \/ L  |" Q! Y$ C
- s4 Q# {' e# _  o
编辑! c3 W0 z8 Y' ~  o/ v5 Q' B

, y1 B- ?' ~, o" h, g8 jsudo vi /etc/containers/registries.conf
7 a6 P* H  e: ^& n0 F8 H& n, P  U8 K, b) ?0 T" `7 i0 x
sudo vi ~/.config/containers/registries.conf9 T- H7 |, U6 X9 H* z2 N
2 z4 Q7 l1 c8 v, N
查看; H. N8 j8 m+ G( d

4 l& `6 w9 I9 Vsudo cat /etc/containers/registries.conf
1 o0 \0 _2 G/ |+ ~. K
" e6 b' s; J' f) s. Z5 gsudo cat ~/.config/containers/registries.conf
$ z8 l- B( s4 {* Q3 a1 h0 n
6 i  w8 |8 F7 u' V! dsudo more /etc/containers/registries.conf$ |* c/ ^. y. Y+ Y  N% u  b& T% a3 J
& ~7 c) C" s) t0 j; o
sudo less /etc/containers/registries.conf  z0 \/ _+ Q0 ?) _7 F: p3 s
' h1 o' C% M* _0 M) W
其中prefix是pull的时候指定的镜像前缀,location是获取镜像的地址,如果不指定prefix则默认和location一致。insecure=true表示允许通过HTTP协议来获取镜像,对于私有化部署/内网测试环境下无https证书的环境来说很有帮助。
0 m& U9 H* @; y
/ M5 J# c2 E/ M- s- J" E配置单个镜像源
8 R' o" o. J& p! ~: t; k+ ^
  c* _' x1 a6 q  q使用中科大源! z3 d" \) F( [) `* l
; S' q' |5 h7 j
###  CentOS9原版 unqualified-search-registries7 L5 g, F8 _1 s+ m$ N
# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "quay.io", "docker.io"]8 B+ w( u( \7 ]7 k7 H
) i* z( T# Z3 j6 d' v
###  Fedora36原版 unqualified-search-registries
/ q2 D$ E5 b' s& w$ y# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "docker.io", "quay.io"]. L' ]) L- t1 b' e9 y% o8 ]
. o! [0 a! E+ ]; {4 _( l
###  Rocky9原版 unqualified-search-registries
- ^- K: J" ]. C- @4 a. |# unqualified-search-registries = ["registry.fedoraproject.org", "registry.access.redhat.com", "registry.centos.org", "quay.io", "docker.io"]% @) F4 C' }/ T, ]& w6 S; [
$ q/ w: k- ?9 i
###  AlmaLinux9原版 unqualified-search-registries4 z' K5 I2 H; p. S, }4 K
# unqualified-search-registries = ["registry.access.redhat.com", "registry.redhat.io", "docker.io"]# B+ k' T2 G- Q" M  Y, P. i! t
' p2 W) \0 t, v( U  D
### 取消从默认地址搜索的仓库域名9 x. l! `. z8 g0 h: G& n2 f
unqualified-search-registries = ["docker.io"]
3 P/ ?/ k, T; i3 [1 P( ^' a  h  s& V3 g/ q' a  @
### 自定义搜索器3 y: H9 |. [8 Q: F
[[registry]]
- q8 N( X* Y) k5 q### 仓库前缀
5 A' G. K5 J  V7 R; h% O5 m7 Mprefix = "docker.io"
8 W! u1 }; K0 Z3 J% @7 G6 ]### 加速器地址
6 V8 c9 o& x# \8 q9 e3 ]location = "docker.mirrors.ustc.edu.cn"9 ^5 A8 `5 U. s
### 允许通过http协议获取镜像" Z7 A, z1 z, z
insecure = true! X0 X2 i# x, Z

% n! f( I. e" f$ R+ L9 i1 S, a9 D2 \  V1 N6 i7 ?, B$ ^
. W' b2 D0 L3 U: R$ T: {" r
% k8 n6 A, p% s
使用docker中国区的源  _* v  S0 |# s! X* J0 E9 n# K# k

2 L$ ]# B/ U; w; v8 s' _unqualified-search-registries = ["docker.io"]
" [2 X% h8 T( R: k8 T7 Y. z
8 f6 r: o  U' f# {) r0 q[[registry]]
, |# w$ y/ y7 P- i6 mprefix = "docker.io"
3 M/ J# n$ ?. C, v; Y8 N  @& r$ Mlocation = "registry.docker-cn.com": f) A7 T; ]+ k5 ~/ q# j
insecure = true
, ]7 O/ `- T: }# }6 c/ {0 X) V8 J4 _2 `( J, ~/ A
9 d0 d, _! K+ m1 C6 ]% E3 H
使用163源
0 k  n7 ^% ?+ K) ?1 J7 G) j
& `- g. s8 U. D! k' a/ H: k7 Z# kunqualified-search-registries = ["docker.io"]& j" q: }7 F0 h

8 `3 W1 [, X! D[[registry]]; D. ?$ }! U. \* T; x" @) j2 L
prefix = "docker.io"
" K5 P$ b# o: z3 l8 ?0 tlocation = "hub-mirror.c.163.com"
/ k8 f! ^. T/ b9 g, |& k7 @* ?insecure = true$ Y1 X# O7 C. Z9 W# @3 Q) L7 D
! Z: N0 }5 e5 f
9 E9 K7 Y( }/ g( c& k
使用阿里源
9 y( `. h* ]' G0 R8 C' K( d4 K. P8 L8 \% z& ?% v
unqualified-search-registries = ["docker.io"]  H/ z) j# Y. E  J8 M: j

* k7 R0 [+ p4 f( G% S' l[[registry]]
, G: ^; ?4 r7 x* @prefix = "docker.io"
6 Y; c% d( L9 h1 I5 Tlocation = "xxxxxx.mirror.aliyuncs.com"
6 K* E( B3 g/ X2 W0 B6 ]- S" j# m' P' I5 b5 h' N4 l4 p) d
7 k6 A  f3 P1 U1 ?( h- P# i
$ K: k- y* f) @0 a, o& G
配置多个镜像源2 R6 V. w, F" |' d7 l- ?

7 \) l; |0 E) \) ?4 Hunqualified-search-registries = ["docker.io"]' Y/ p! i2 _5 V2 g3 ?/ |
9 ~0 g* |, L0 n  }- ^, N
[[registry]]/ n1 q  P7 \  Q6 u
prefix = "docker.io"
9 w9 j: J3 n6 Klocation = "hub-mirror.c.163.com"% K  Y: G6 d4 I/ F
insecure = true
, o. C0 G% K" z" Z8 m5 ]. z5 A) X/ G6 r+ w0 q' R
[[registry.mirror]]
' c* r8 W' a5 z% A: ?0 Y/ Ilocation = "docker.mirrors.ustc.edu.cn"3 F0 h' h! _6 ~
insecure = true. ^+ a& `  f% L
[[registry.mirror]]% F( ]' n2 B" b& F! h. B  g
location = "hub-mirror.c.163.com"9 O6 y1 _! K' \' W! Q8 }) H* q
insecure = true
- v4 V4 w8 z+ ]4 L5 s[[registry.mirror]]4 C2 _. ]: g8 ^, P1 ~
location = "registry.docker-cn.com"
, M( n0 f' x: v0 f) i' Cinsecure = true
$ c  ^7 M* V# l, P
" [9 W& B' J9 X3 f用脚本配置
2 r' K4 k( v- x. U  Y: w' w
! D; ]& }; }  @" q& W#!/bin/bash
: t" U7 P2 \/ }) ]: F; W, p9 c5 U[ -e /etc/containers/registries.conf.BackupDir ] || mkdir /etc/containers/registries.conf.BackupDir, J5 t- H7 Z8 g  n+ g: v4 Y/ H6 I
sudo cp /etc/containers/registries.conf /etc/containers/registries.conf.BackupDir/registries.conf.`date "+%Y%m%d%H%M%S"`.bak! `1 z5 ], e: ]9 w) R9 S5 a
printf '
- }/ G' g) P+ u" [4 \7 ?unqualified-search-registries = ["docker.io"]4 a# m" {/ B$ k1 u3 R

2 I% O" t- T9 b8 d; A[[registry]]6 M0 |5 Q- }+ G9 Z0 }
prefix = "docker.io"
/ Q9 `, r# s7 T9 z  Qlocation = "hub-mirror.c.163.com"* X- l0 x5 y: f) v( a
insecure = true
! c" t5 B, r& \8 j# Z& `[[registry.mirror]]( H) b0 F3 W% d
location = "docker.mirrors.ustc.edu.cn"/ w6 G5 y/ d  l
insecure = true
8 f- n2 P: m$ Z1 s# h% ~: k, A, x[[registry.mirror]]
; M6 K9 M, H, |* ]2 B! O! ylocation = "hub-mirror.c.163.com"1 l* Q' \! P2 c# i; v
insecure = true8 k% f3 l! F7 F+ K; w
[[registry.mirror]]
5 u" ^* y" D8 M6 D! e& Xlocation = "registry.docker-cn.com"2 E7 y; e# y) _! }! U
insecure = true
+ [7 a- K7 [) s% {. o; Z8 y7 g' | sudo tee /etc/containers/registries.conf; E4 j" [- u' l$ U% [% V+ d( k
4 E: d8 b$ z- Y/ [

2 {; E" j5 W& r" p# F测试,查看信息0 Q1 h# P& g! i. @% H! D0 K

; ^. x. m8 z" }" Msudo podman run hello-world% k- D' Q" R5 f5 |6 j& L

: |" s' w* ?. G; N; O, l: Osudo podman info, _* b7 h, B3 ^* k8 @+ O
& }0 E5 s' \7 t' c

5 |) {1 }. I- f- Y

1

主题

0

回帖

12

积分

管理员

积分
12
QQ
 楼主| 发表于 2023-2-11 21:49:24 | 显示全部楼层
安装podman:) P- H2 U% b, a" J; v% Y
dnf install -y @container-tools
) E6 o5 g6 p5 ?% q4 Q0 {- M# Vdnf install -y podman
3 T( K6 ]' {7 j# P8 O安装podman:
5 \  o1 @6 W0 h# p3 O- P' odnf install -y @container-tools
1 u+ Q( G! f# F7 Ldnf install -y podman6 ~& o& F: d. J

* \* `3 ^3 N+ r9 y) i" w1 ~备份文件:
! V4 @( e: `3 v9 bcp /etc/containers/registries.conf{,.bak}6 A  ?1 \  F5 q8 Y: e9 z6 B& T/ ^
) e, t2 E8 l+ I
修改文件:
+ E/ X4 `6 b0 U5 ?vim /etc/containers/registries.conf
! O4 a( [2 O7 q) r( {; J8 O去掉红帽的哪些配置,只保留下面的配置:1 H. ?8 ^) ?- U0 `
unqualified-search-registries = ["docker.io"]
" B7 r/ G& o+ I+ Qunqualified-search-registries = ["docker.io"]2 K3 D9 g- B7 g9 i
[[registry]]
* ]1 K6 [$ Z" ^" o! K; e4 Nprefix = "docker.io"
/ I" t$ X& ~  S/ w5 h* }7 @location = "docker.io"/ |' B! Y$ Z4 X# |5 Y' |% b

0 M5 U9 t* k' y/ ]) M" }[[registry.mirror]]
( x( s/ z4 q7 }location = "mirror.baidubce.com"$ v% E" q; j. r' Z- E

: e& f1 w( `5 F' U' @
dnf install -y podman
dnf install -y podman podman-plugins cockpit cockpit-podman
systemctl enable --now podman.service
systemctl enable --now cockpit.socket

# D" B. Y  v4 F3 {
% K: k3 M4 s! r/ _% f  ^
您需要登录后才可以回帖 登录 | 注册

本版积分规则

返回首页|Archiver|手机版|小黑屋|易陆发现技术论坛 ( 蜀ICP备2026014127号-1 )

GMT+8, 2026-6-12 02:10 , Processed in 0.016821 second(s), 22 queries .

Powered by Discuz! X5.0

© 2001-2026 Discuz! Team.

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