- docker images 查看镜像
- docker build -t docker_test . 建立镜像
- docker run docker_test python main.py (参数:/pdffile ) 运行镜像
- 删除标签为none的image
docker rmi $(docker images | grep “^” | awk “{print $3}”)
Dockerfile:
FROM python:3.6
ENV PATH /usr/local/bin:$PATH
COPY . /code
WORKDIR /code
RUN pip install -r requirements.txt
CMD python main.py
docker 容器的跨服务器的迁移:
链接
export是当前的状态,针对的是容器,docker save 是针对镜像images
(1. 把当前的容器提交为一个镜像:
docker commit 容器名 镜像名)
- 将镜像存为tar文件
docker save 镜像名 >备份文件.tar
docker save preprocess_new > preprocess_backup_new.tar
-
将 备份文件.tar 复制到目的主机下(.tar文件在当前目录下)
-
将 备份文件.tar恢复为镜像
docker load <备份文件.tar -
运行
sudo docker run -it -v /home/jie/text2kg/data/pdf:/home/jie/text2kg/data/pdf preprocess_latest python preprocess.py
用Dockerfile 制作镜像,打包Java程序
- jar包制作:
用命令行打包jar包(否则会报错)
参考
jar cvfm abc.jar MANIFEST.MF Hello.class
- Dockerfile
FROM ubuntu:16.04
#FROM java:8
COPY jdk1.8.0_211 /usr/local/jdk #一定要是Linux下的jdk
ADD profile /etc/profile
# 配置环境变量
ENV JAVA_HOME /usr/local/jdk
ENV PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
ENV CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
# 拷贝jar
COPY er.jar .
COPY fastjson-1.2.58.jar .#要把所有需要的包都拷到镜像里
COPY MetaMapApi.jar .
COPY mongo-java-driver-3.10.2.jar .
COPY pipeline_ER.jar .
COPY prologbeans.jar .
ADD er.jar app.jar
# 执行命令
ENTRYPOINT ["java","-jar","/app.jar"]
2020/12/03更新:docker打包深度学习模型
- dockerhub拉取基础镜像:docker pull nvidia/cuda:11.0-devel-centos7
- 基础镜像安装python3 pip3 参考
创建容器:docker run -dit --name imageName imageID
(e.g.) docker run -dit --name centos_demo 9f38484d220f
返回容器id
3. 进入容器(centos7)
docker exec -it 返回的容器id /bin/bash
- centos7 安装python3
参考 - 打包容器为镜像:
docker commit -m '描述 '-a ‘作者信息’ centos容器id 仓库名(自取)