当Docker容器启动后,如果忘记启动参数,比如目录挂载、端口映射等,可以通过Portainer等容器管理工具查看。但是,有时希望能获取容器启动的命令行,因为需要再启动一个类似容器,怎么办呢?
有一款工具叫runlike,可以输出容器运行的命令行。
安装与使用
            
            
              shell
              
              
            
          
          pip install runlike 
使用也极其简单
            
            
              shell
              
              
            
          
          runlike [container-id]示例
例,输出Jellyfin容器的启动命令行脚本
            
            
              shell
              
              
            
          
          root@xxx:~# runlike 12f212af60e2 -p
docker run --name=jellyfin2 \
        --hostname=c3714a0e01fb \
        --mac-address=02:42:ac:11:00:06 \
        --volume=/mnt/hdd_hikvision/movies:/media \
        --volume=0c95706939e32e2bfd08455b08b8f92f5c5da5a9f2911e466eabf39ab78ef535:/cache \
        --volume=/home/containers/jellyfin2:/config \
        --cap-add=AUDIT_WRITE \
        --cap-add=CHOWN \
        --cap-add=DAC_OVERRIDE \
        --cap-add=FOWNER \
        --cap-add=FSETID \
        --cap-add=KILL \
        --cap-add=MKNOD \
        --cap-add=NET_BIND_SERVICE \
        --cap-add=NET_RAW \
        --cap-add=SETFCAP \
        --cap-add=SETGID \
        --cap-add=SETPCAP \
        --cap-add=SETUID \
        --cap-add=SYS_CHROOT \
        --cap-drop=AUDIT_CONTROL \
        --cap-drop=BLOCK_SUSPEND \
        --cap-drop=DAC_READ_SEARCH \
        --cap-drop=IPC_LOCK \
        --cap-drop=IPC_OWNER \
        --cap-drop=LEASE \
        --cap-drop=LINUX_IMMUTABLE \
        --cap-drop=MAC_ADMIN \
        --cap-drop=MAC_OVERRIDE \
        --cap-drop=NET_ADMIN \
        --cap-drop=NET_BROADCAST \
        --cap-drop=SYSLOG \
        --cap-drop=SYS_ADMIN \
        --cap-drop=SYS_BOOT \
        --cap-drop=SYS_MODULE \
        --cap-drop=SYS_NICE \
        --cap-drop=SYS_PACCT \
        --cap-drop=SYS_PTRACE \
        --cap-drop=SYS_RAWIO \
        --cap-drop=SYS_RESOURCE \
        --cap-drop=SYS_TIME \
        --cap-drop=SYS_TTY_CONFIG \
        --cap-drop=WAKE_ALARM \
        --network=bridge \
        -p 32778:8096 \
        -p 32770:8920 \
        --restart=no \
        --device /dev/dri/card0:/dev/dri/card0 \
        --device /dev/dri/renderD128:/dev/dri/renderD128 \
        --add-host api.themoviedb.org:52.84.18.87 \
        --add-host api.themoviedb.org:54.192.18.90 \
        --runtime=runc \
        --detach=true \
        nyanmisaka/jellyfin:230901-amd64输出的内容比较详细,有些不需要的参数可以直接删除