podman笔记

1.制作jar包镜像,和docker一样

1.把jar包上传到服务器
2.在jar包的目录下通过创建Dockerfile

FROM openjdk:11
MAINTAINER wangzhen
ADD mk-builder.jar /usr/local/
EXPOSE 11002 
ENTRYPOINT ["java","-jar","/usr/local/mk-builder.jar"]

Dockerfiler解释:
FROM:指定基础镜像,必须为第一个命令,意思是将openjdk:8-jdk-alpine作为基础镜像
VOLUME:用于指定持久化目录到/tem
ADD:将本地文件docker.jar添加到容器中,放入到/user/local文件夹下, 或者不放入文件夹中,直接重命名(ADD mk-data.jar app.jar)demo.jar
EXPOSE:向外暴露的端口
ENTRYPOINT:类似于开机执行 java -jar app.jar

2.制作镜像

podman build -t docker-test .

-t:给生成的镜像命名,本文命名为dcoker-test
命令最后的 “.”:指定镜像构建过程中的上下文环境的目录(这个点不能忘,具体的意思我暂时也没太明白,后续更新)

3.运行镜像

podman run -d --name firstDocker -p 8080:8080 docker-test

-d:后台运行
–name: 给运行的镜像取名
-p:端口映射(外部端口:内部端口)

最后 podman ps ,查看容器运行状态。

|
|
|
| 安装 使用 podman
|
|
|
1.安装

yum -y install podman

2.查看版本

podman -v

3.配置阿里云镜像
Podman 默认注册表配置文件在 /etc/containers/registries.conf
清空并修改为以下内容:

unqualified-search-registries = ["docker.io"]

[[registry]]
prefix = "docker.io"
location = "******.mirror.aliyuncs.com"

4.搜索镜像

# 搜索镜像
podman search 镜像名

# 显示完整的镜像描述
podman search --no-trunc 镜像名
	
# 列出收藏数不小于指定值的镜像	
podman search -s 镜像名	
	
# 只列出Docker Hub自动构建类型的镜像	
podman search --automated 镜像名		

5.查看镜像

# 查看镜像列表
podman images

# 显示所有镜像(包括中间层)
podman images -a
	
# 只显示镜像ID		
podman images -q
		
# 查看所有镜像,且只显示镜像id
podman images -qa

# 显示镜像的摘要信息		
podman images --digests

# 显示完整的镜像信息
podman images --no-trunc

6.拉取镜像

podman pull 镜像名:标签

7.删除镜像

# 如果不写TAG,默认删除最新版本latest
podman rmi 镜像名

# 删除单个镜像:
podman rmi 镜像名称:[TAG]

# 删除多个镜像
podman rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
# 删除全部镜像
podman rmi -f $(docker images -qa)

7.运行容器

# 运行实例
podman run -dti 镜像名

# --name="容器名":为容器指定一个名称;
podman run --name tomcat_01 镜像名

# -i:以交互模式运行容器,通常与-t或者-d同时使用;组合参数:-dti
# -t:为容器重新分配一个伪输入终端,通常与-i同时使用;组合参数:-dti
# -d: 后台运行容器,并返回容器ID;组合参数:-dti
podman run --name tomcat_01 -dti 镜像名

# -p将宿主机端口映射到容器端口
## 起始就是用内核模块iptables创建一个dnat
## 可以使用iptables -L -t nat -n 查看到dnat规则
podman run -p 8080:8080 tomcat

# -P:大写的P,表示容器内部端口随机映射到主机的端口
## 格式为:-P 容器端口
podman run -P 8080 tomcat

# -v将(宿主机目录)挂载到(容器目录)
podman run -v /home/webapps/test:/usr/local/tomcat/webapps/test
	
# -e传递环境变量
podman run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

运行容器示例:

podman run --name tomcat8080 -dit -p 8080:8080 --restart=always -v /dta/webapps/test:/usr/local/tomcat/webapps/test tomcat

在这里插入图片描述
8.查看容器

# 查看正在运行的容器
podman ps

# 查看所有容器
# -a :显示所有的容器,包括未运行的。
podman ps -a

# 显示最近创建的2个容器
# -n :列出最近创建的n个容器。
podman ps -n 2

#查看停止的容器
# -f :根据条件过滤显示的内容。
podman ps -f status=exited


# --format :指定返回值的模板文件。
# -l :显示最近创建的容器。
# --no-trunc :不截断输出。
# -q :静默模式,只显示容器编号。
# -s :显示总的文件大小。

9.启动容器
podman start 容器名/容器ID

podman start mycentos00

10.停止容器
podman stop 停止容器
podman stop 可以停止运行的容器 本质是发送一个 SIGTERM 信号
podman stop 容器ID or 容器名

podman stop 865b755cd0b2

podman和docke的命令几乎一样,所以如果想用docker命令去操作podman,则可以设置个别名

echo "alias docker=podman" >> .bashrc
source .bashrc

11.重启容器
podman restart 重启容器
podman restart 容器ID or 容器名

podman restart f9cadea1a5e7

12.删除容器

# podman rm 删除容器	
## 查看容器
podman ps -aq

## 删除容器
podman rm 容器id

# 强制删除
podman rm -f 容器ID

# 删除多个容器 
## podman rm -f 容器ID1  容器ID2 中间空格隔开
podman rm 865b755cd0b2 ce6343ee288f

# 删除所有容器
podman rm -f $(docker ps -qa)

13.强制停止容器

podman kill 强制停止容器
podman kill 向容器进程发送 SIGKILL 信号
podman kill 容器ID or 容器名
podman kill 容器id(推荐,常用)

podman kill f9cadea1a5e7

14.进入容器

podman exec -ti 容器名 bash

15.容器日志

# 容器日志
# podman logs [OPTIONS] 容器名
# 显示更多的信息
podman logs	--details 容器id

# 跟踪实时日志
podman logs -f 容器id
podman logs --follow 容器id

	
# 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
podman logs --since 42m 容器id
	
# 从日志末尾显示多少行日志, 默认是all
podman logs--tail 100 容器id #100行
podman logs 容器id # 默认all
	
# 显示时间戳
podman logs -t 容器id
podman logs --timestamps 容器id
	
# 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
podman logs --until 42m 容器id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值