docker 创建镜像及导入导出

docker 创建镜像及导入导出

194服务器oplus-dts包所在位置:
/home/zhouminglan/docker-io-war/oplus-dts/

194服务器oplus-portal包所在位置:
/home/zhouminglan/docker-io-war/oplus-portal/

194服务器oplus-udp及Dockfile包所在位置:
/home/zhouminglan/docker-io-war/oplus-udp/

使用Dockerfile文件和war包创建docker可执行的镜像

使用方法:
将Dockerfile文件和xxx.war放入同一文件夹即可。

Dockerfile文件

FROM openjdk:8-jre-alpine

ADD oplus-portal.war /oplus-portal.war

EXPOSE 8081 5701/udp
CMD echo "The application will start in 10s..." && \
    sleep 10 && \
    java -jar /oplus-portal.war

注意:

  • 不同的war包打成镜像时,都需要更换一下Dockerfile文件中的包名。
  • 将项目中的localhost和127.0.0.1改为真实的ip地址。

打成镜像的命令

  • 注意最后的那个点".","oplus-dts/war"表示镜像的名称,随意命名。
    docker build -t oplus-dts/war -f Dockerfile .

启动镜像

  1. 启动镜像
    docker run -p 8666:8666 oplus-dts/war
  • 第一个8666表示容器对外的端口,第二个8666表示容器内部服务的端口,'oplus-dts/war'表示镜像名称。

  • 这里端口最终以项目中端口的定义为准(项目中定义的服务的端口的优先级最高)。这里最好都写成同一个端口。

导出镜像

  1. 查看镜像
    sudo docker images
  2. 选择要打包的镜像,执行打包命令
    sudo docker save -o oplus-dts.tar oplus-dts/war
  • 'oplus-dts.tar'表示生成的镜像名称。'oplus-dts/war'表示原本的镜像名称。
  • 会在当前目录下生成导出文件xxx.tar,然后将此文件下载到本地

导入镜像

  1. 导入上述打包的镜像
    docker load -i oplus-dts.tar
  • 注意,导入镜像的时候要把Dockfile文件打的openjdk的镜像一并导入。
  1. 查看镜像
    docker images

  2. 启动镜像
    docker run -p 8666:8666 oplus-dts/war

  • 不需要启动openjdk镜像

  • 如果Docker容器启动报(docker宿主机ip通,但是docker里镜像不通的情况)
    WARNING: IPv4 forwarding is disabled. Networking will not work

  • 解决办法:

    vi /etc/sysctl.conf

    或者

    vi /usr/lib/sysctl.d/00-system.conf

    添加如下代码:

    net.ipv4.ip_forward=1

    重启network服务

    systemctl restart network

    查看是否修改成功

    sysctl net.ipv4.ip_forward

    如果返回为“net.ipv4.ip_forward = 1”则表示成功了

你可能感兴趣的:(docker 创建镜像及导入导出)