docker 打包
make file 文件:
all: docker build -t lora . base: docker build --no-cache -t lorabase -f Dockerfile.base . export: docker save LoRa -o /home/netsin/LoRa chown netsin:netsin /home/netsin/LoRa
Dockerfile.base 文件
FROM ubuntu:18.04 RUN apt-get update RUN apt-get install libcurl4-openssl-dev -y
一些比较复杂的
FROM ubuntu:18.04 RUN apt-get update RUN apt-get install -y libsqlite3-0 libpcre3 libcurl4-nss-dev libssl-dev libspeexdsp-dev....
Dockerfile 文件
FROM lorabase WORKDIR /opt/LoRa/bin ADD bin /opt/LoRa/bin/ CMD run.sh
WORKDIR /opt/LoRa/bin docker里面的工作目录
ADD bin /opt/LoRa/bin/ 在本地电脑的代码
CMD 执行文件
比较复杂的
FROM lora.base WORKDIR /opt/lora ENV LD_LIBRARY_PATH=/opt/lora/lib ADD bin /opt/lora/bin/ ADD lib /opt/lora/lib/ ADD var.org /opt/lora/var/ ADD etc /opt/lora/etc/ ADD include /opt/lora/include/ ADD share /opt/lora/share/ ADD 10-lora-limit.conf /etc/security/limits.d/10-lora-limit.conf ADD 10-lora-network-req.conf /etc/sysctl.d/10-lora-network-req.conf CMD /opt/lora/bin/lora -force_ip_v4 $FS_SERVICE_IP -external_argument $FS_EXTERNAL_ARGUMENTS
首先准备好这3个文件;
1、执行 make base 命令 执行Dockerfile.base 脚本 生成 lorabase 镜像包
生成完成 使用 docker images 命令查看
2、执行 make all 将 Lora镜像 打成 镜像包,再次使用 docker images 查看 生成的 lora 镜像文件;
打成包后 可以使用 docker run -it --rm lora /bin/bash 创建临时docker 并进入看看有执行的文件
3、使用 docker save -o Lora.tar lora:latest 命令将镜像包压缩成 tar文件
https://www.cnblogs.com/ming369/p/10726248.html
4、使用scp命令 将tar文件 传送到 192.168.1.6 netsin 目录下
scp -r /home/netsin/Docker/Lora.tar netsin@192.168.1.6:/home/netsin/
5、到192.168.1.6 环境中 找到 Lora.tar文件
docker load -i Lora.tar
命令解压镜像包
6、运行容器
docker run .....
docker run --name Lora_collect -itd --rm lora /bin/bash
docker run -p2800:2800 --restart always -d --name osd -v/home/netsin/osd/osd.main.conf:/home/osd/bin/osd.main.conf -v/tmp:/home/osd/bin/log osd_images /home/osd/bin/osd_server
docker run --net=host --restart always -d --name stream_test -v/tmp:/home/trunk/logs -v/home/netsin/srs-box/python:/home/trunk/python gb28181_base_test ./objs/srs -c ./conf/push.gb28181.conf
备注:该博客只是给我自己看,所以写没有那么详细