ose up -d
上述命令背后将执行启动相关容器必须的所有操作,包括:
- 拉取镜像
- 使用指定选项(端口、卷、机密、网络等)创建容器
- 按特定顺序启动容器(由约束定义,例如 depends_on)
-d
选项,随便一猜大概就能明白,是做为后台进程启动容器的意思。
容器启动并运行后,可以通过以下命令进行验证:
$ podman ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d7b7f91c03aa docker.io/library/caddy:alpine caddy run --confi... 4 hours ago Up 4 hours ago 0.0.0.0:8080->80/tcp, 0.0.0.0:8443->443/tcp caddy-vishwambhar
1cfcc6efc0d0 docker.io/library/postgres:14-alpine postgres 4 hours ago Up 4 hours ago gitea-chitragupta
531be3df06d0 docker.io/gitea/gitea:latest /bin/s6-svscan /e... 4 hours ago Up 4 hours ago 0.0.0.0:8010->3000/tcp, 0.0.0.0:8011->22/tcp gitea-govinda
停止容器与服务
既然启动是 up
,那停止很明显就是 down
了。这俩单词我老早就认识,不知道你认识不认识?
podman-compose down
此外,您还可以设置个超时时间,容器到时可以安全地自行关闭:
podman-compose down -t TIMEOUT_IN_SECONDS
podman-compose down --timeout TIMEOUT_IN_SECONDS
注意,以上命令仅停止容器,并不会删除容器。
启动或停止特定服务
你应该注意到了,上面的配置文件定义了多个服务,比如其中之一是 gitea-db
。如果单独启停它的话,可以象这样:
$ podman-comopse start gitea-db
$ podman-compose stop gitea-db
$ podman-compose restart gitea-db
其它
主要的命令其实就是上述这些了。剩余一两个可能用到的,简单描述一下。
假如想预先拉取一下相关镜像,可以使用命令:
podman-compose pull
另外,前述命令都假定编排文件的名字仍然叫 docker-compose.yml
。肯定是可以换成其它名字的,比如 foo.yml
,则使用时需要多加个参数,指定配置文件:
podman-compose -f foo.yml
podman-compose --file foo.yml
总之,使用起来还是相当简单愉快的。请君试之。
作者:
袁首京
原创文章,转载时请保留此声明,并给出原文连接。