1.安装docker
yum install docker
systemctl start docker
2. 镜像操作常用命令
docker load - i x. tar
docker images
docker rmi tensorflow:1. 0. 0
docker history tensorflow:1. 0. 0
docker save - o tensorflow_image. tar tensorflow:1. 0. 0
3. 容器操作常用命令
docker ps
docker ps -a
docker ps -a | grep test
docker run -itd --name test tensorflow:1.0.0
docker run -itd -v /home/test:/home -p 8085:8085 --cpus= 2 -m 4G --name test tensorflow:1.0.0
docker cp x.tar test:/home
docker cp test:/home/x.tar ./
docker exec -it test bash
exit
docker stop test
docker start test
docker rm test
docker commit -m "first commit" test tensorflow_test:1.0.0
4. Dockerfile 镜像打包
# From 基础镜像,必须为第一条非注释指令
# EXPOSE 暴露容器内的端口,在启动容器时-p做本机映射
# ADD 添加本地tar包到容器中,会自动解压
# COPY 拷贝本地文件到容器中
# WORKDIR 指定工作目录。用 WORKDIR 指定的工作目录,会在构建镜像的每一层中都存在。(WORKDIR 指定的工作目录,必须是提前创建好的)。
# RUN <command> shell格式
# RUN ["executable","param1","param2"] 必须是双引号
# CMD 类似于RUN,用于运行程序,但CMD是在docker run时运行,RUN是在docker build时运行。
# 程序运行结束,容器也就结束。CMD可被docker run命令行参数中指定要运行的程序所覆盖。
# ENTRYPOINT 类似于 CMD 指令,但其不会被 docker run 的命令行参数指定的指令所覆盖,而且这些命令行参数会被当作参数送给 ENTRYPOINT 指令指定的程序。
# 但是, 如果运行 docker run 时使用了 --entrypoint 选项,此选项的参数可当作要运行的程序覆盖 ENTRYPOINT 指令指定的程序。
FROM paddle-vim-py36:1.0.0
EXPOSE 8085
ADD model_file.tar /home
ADD SignSealDetection.tar /home
WORKDIR /home/SignSealDetection
RUN chmod 777 ./run.sh
ENTRYPOINT ["./run.sh"]
5. K8S 常用命令
kubectl get pods - n ai
kubectl create - f . /
kubectl delete - f . /
kubectl apply - f 06_sseal_deployment. yaml
kubectl exec - it signseal- dc66bbd54- 4xfwq - n ai -- / bin/ bash
kubectl logs - f signseal- 5b7bfc55f5- s97rp - c signseal - n ai | grep - v {
}
kubectl describe pod signseal- 799895787d- kctr4 - n ai