podman容器开机自启

本文介绍了如何在Linux系统中使用Podman设置容器的开机自启动,包括root用户和普通用户的操作步骤,同时提到了podman网络的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

podman网络

没有运行任何容器前

[root@localhost ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:9e:92:e1 brd ff:ff:ff:ff:ff:ff
    inet 192.168.218.130/24 brd 192.168.218.255 scope global dynamic noprefixroute ens160
       valid_lft 1717sec preferred_lft 1717sec
    inet6 fe80::d68f:1be3:2ad4:4605/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

运行一个容器,查看ip

[root@192 ~]# podman run -d --name httpd docker.io/library/httpd
[root@192 ~]# podman ps 
CONTAINER ID  IMAGE                           COMMAND           CREATED             STATUS                 PORTS       NAMES
c7c39352b2e9  docker.io/library/httpd:latest  httpd-foreground  About a minute ago  Up About a minute ago              httpd

//查看ip
[root@192 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens160: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:0c:29:a7:ed:84 brd ff:ff:ff:ff:ff:ff
    inet 192.168.218.144/24 brd 192.168.218.255 scope global dynamic noprefixroute ens160
       valid_lft 1797sec preferred_lft 1797sec
    inet6 fe80::b7d8:f396:bd33:bc34/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
3: cni-podman0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
    link/ether 86:73:1d:74:1d:34 brd ff:ff:ff:ff:ff:ff
    inet 10.88.0.1/16 brd 10.88.255.255 scope global cni-podman0
       valid_lft forever preferred_lft forever
    inet6 fe80::8473:1dff:fe74:1d34/64 scope link 
       valid_lft forever preferred_lft forever
4: vetha777c1a9@if2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master cni-podman0 state UP group default 
    link/ether e2:b9:bf:61:ac:66 brd ff:ff:ff:ff:ff:ff link-netns cni-1e4e81ac-ad29-47b2-8dc4-abc02efbb892
    inet6 fe80::e0b9:bfff:fe61:ac66/64 scope link 
       valid_lft forever preferred_lft forever
//出现cni-podman0网卡

//关闭容器,cni-podman0网卡依然在
[root@192 ~]# podman stop httpd 
httpd
[root@192 ~]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forev
### 设置Docker容器开机动 为了使Docker容器能够在系统动时自动运行,需先确认Docker服务已经被设定为随操作系统一同动[^1]。这一步骤至关重要,因为只有当Docker守护程序处于活动状态时,其管理下的任何容器才可能被激活。 对于Linux发行版而言,通常可以通过`systemctl enable docker`命令来实现这一目标;而对于Windows或macOS平台,则应参照各自官方文档中的指导完成相应设置。之后,在确保Docker服务能够顺利开的基础上,还需要满足几个条件: - **前置依赖项准备**:如果有其他外部服务(比如数据库服务器或其他网络组件)是当前要设为自容器所必需的话,那么应当优先处理好这些基础架构层面的工作,使得它们能在目标容器尝试加载前就绪。 - **资源评估与规划**:考虑到实际环境中可能存在多台虚拟机实例或是多个应用同时竞争计算能力的情况,合理预估所需硬件规格以及预留适当余量是非常必要的。这样做不仅有助于提高整体性能表现,也能有效防止因过度消耗而导致的服务中断风险。 最后,针对具体的某个镜像文件创建持久化任务定义,以便每次机器重后都能按照既定策略执行对应的操作逻辑。具体来说就是利用如下所示的方式之一来进行部署: #### 方法一:借助Compose工具简化流程 如果项目结构较为复杂且涉及到了跨多个微服务之间的协作关系,推荐采用[Docker Compose](https://docs.docker.com/compose/)框架辅助构建环境。只需编辑一份YAML格式描述文档即可一次性声明所有关联实体及其属性参数,并指定其中哪些部分应该参与自动化过程。 ```yaml version: '3' services: webapp: image: my-web-app-image restart: always # 关键字用于指示该service始终尝试恢复至健康态 ``` 保存上述配置片段到名为`docker-compose.yml`的本地文件当中去,随后便可通过简单的CLI指令触发整个集群的一次性初始化动作: ```shell $ docker-compose up -d ``` #### 方法二:直接修改容器动选项 当然也可以不引入额外层次而是在调用`docker run`的时候显式加入`--restart=always`标记位,从而达到相同的效果。这种方式更加直观易懂,适合初学者快速上手实践学习之用。 ```shell $ docker run --name some-mysql \ --restart=always \ # 此处即为控制行为的核心开关 -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -d mysql:tag ``` 无论采取哪种途径实施改造措施,都建议定期审查现有方案的有效性和安全性状况,及时作出改进调整以适应不断变化的应用场景需求[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值