1、容器vs虚拟机

容器共用宿主机内核,不用装独立系统,占用资源极少;容器软件环境和宿主机隔离,不会出现依赖冲突。

2、镜像 & 容器

镜像是静态模板,容器是镜像跑起来的进程;容器默认数据临时,删容器数据就清空。

podman pull 镜像名(拉取镜像)

podman run 镜像名(基于镜像运行容器)

3、Podman、ContainerFile

 Podman用法≈Docker,红帽默认工具;ContainerFile用来自定义制作镜像。

 podman build -t 自定义镜像名 .

4、无根容器

普通用户直接运行容器,安全性更高,部分功能有权限限制,实验默认就是该模式。

5、容器常用配置

- 端口映射:外部访问容器服务

 podman run -p 宿主机端口:容器端口 镜像 

- 环境变量:配置容器内程序参数

 podman run -e 变量=值 镜像 

- 数据挂载:宿主机目录挂载容器,实现数据永久保存

 podman run -v 宿主机路径:容器内路径 镜像 

6、容器隔离

容器之间互相隔离,互不影响。

基础指令: podman ps 查看容器、 podman rm 删容器、 podman rmi 删镜像

7、开机自启

用systemd管理容器服务,实现开机自动运行容器

systemctl --user start 服务名

systemctl --user enable 服务名

 

8、进入容器内部

 podman exec -it 容器名 bash

9、把容器写成系统服务

podman generate systemd --new --name 容器名 > ~/.config/systemd/user/容器名.service

(写成系统服务之后需用systemctl命令控制)

高频操作命令:

podman images                  # 查看本地所有镜像

podman run [参数] 镜像名        # 新建并启动容器

podman stop 容器名            # 停止容器

podman start 容器名           # 启动已存在的容器

podman exec -it 容器名 bash  # 进入容器内部终端

更多推荐