Podman系列之通过docker插件完成研发机镜像创建和运行

文章目录

  1. 1. MacOS连接Linux的Podman REST API service
  2. 2. 程序打包

MacOS连接Linux的Podman REST API service

由于Podman与Docker一样,不支持在windows和macos上运行。故可以通过在linux系统下的podman开启REST API service。由windows与macos进行远程连接。

  1. Linux下开启Podman REST API service

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    wujianjun@wujianjun-work:~$ vi /lib/systemd/system/podman.service #增加‘tcp:0.0.0.0:2375 --time=0’开启tcp监听
    [Unit]
    Description=Podman API Service
    Requires=podman.socket
    After=podman.socket
    Documentation=man:podman-system-service(1)
    StartLimitIntervalSec=0

    [Service]
    Delegate=true
    Type=exec
    KillMode=process
    Environment=LOGGING="--log-level=info"
    ExecStart=/usr/bin/podman $LOGGING system service tcp:0.0.0.0:2375 --time=0

    [Install]
    WantedBy=default.target
    wujianjun@wujianjun-work:~$ systemctl daemon-reload
    wujianjun@wujianjun-work:~$ sudo systemctl restart podman
    wujianjun@wujianjun-work:~$ podman --remote info
    host:
    arch: amd64
    buildahVersion: 1.22.3
    cgroupControllers: []
    cgroupManager: cgroupfs
    cgroupVersion: v1
    wujianjun@wujianjun-work:~$ podman system connection list #查看当前机器远程连接的列表

    接下来MacOS或Windows就可以通过tcp://host:2375进行连接了
    MacOS下加入远程访问 wujianjun@wujianjun-work ~ % podman system connection add ubuntu tcp://10.84.102.X:2375

  2. 通过Ideaj下Docker Plug-in完成远程连接

Docker插件远程连接

程序打包

  1. 在需要打包的模块pom.xml的同级目录创建 Dockerfile 文件,内容如下:

    1
    2
    3
    4
    5
    FROM adoptopenjdk/openjdk8:x86_64-ubuntu-jre8u292-b10
    ARG MODULE_FILE_NAME
    ADD target/${MODULE_FILE_NAME}.tar.gz /opt/
    ENV TZ=Asia/Shanghai MODULE_FILE_NAME=${MODULE_FILE_NAME}
    CMD cd /opt/${MODULE_FILE_NAME} && ./bin/app restart && tail -f ./logs/console.log
  2. 在上一步的Docker远程连接下配置打包镜像

Docker远程连接

注意:如果Dockerfile里出现错误(如Add的文件不存在时)会抛出Dockerfile: service-gateway-biz/Dockerfile': Can't retrieve image ID from build stream的错误。

Docker插件使用

Podman远程仓库镜像

通过登录进Podman仓库来看,两边的镜像与运行容器实例是一致的。


观点仅代表自己,期待你的留言。