参考:https://blog.csdn.net/chanmufeng/article/details/80459607
1、生成执行程序
根据基础镜像,运行容器安装程序
2、镜像操作
制作镜像
docker images #查看本地镜像
docker container ls 或docker ps #查看本地容器,ls -a可查看隐藏内容
1)用别人的镜像制作
docker search <image-name> #搜索网上可用镜像
docker pull <image-name> #下载到本地
docker run -it <image-name> #根据镜像名运行容器,安装组件
docker commit <container-ID> 用户/项目 #提交生成新的镜像,或修改tag生成新镜像
docker inspect <container-ID> #查看容器完整信息
2)通过dokerfile文件制作
参考:https://blog.csdn.net/wo18237095579/article/details/80540571
FROM指定基础镜像 常用 buntu\debian\centos scratch为空白镜像
RUN执行命令 注意dockerfile每一条命令会建立一层layer,多条RUN命令要用换行(\),与(&&)进行拼接(COPY,ADD除外),每一个 RUN 都是启动一个容器、执行命令、然后提交存储层文件变更
COPY复制文件
ADD高级复制命令(包含解压功能)
CMD容器启动命令 Docker 不是虚拟机,容器就是进程,CMD 指令就是用于指定默认的容器主进程的启动命令的
ENTRYPOINT 入口点,比CMD多了参数
ENV 设置环境变量,后面ADD 、 COPY 、 ENV 、 EXPOSE 、 LABEL 、 USER 、 WORKDIR 、 VOLUME 、 STOPSIGNAL 、 ONBUILD均可使用
格式有两种:
ENV <key> <value>
ENV <key1>=<value1> <key2>=<value2>...
ARG <参数名>[=<默认值>] 定义参数名称或默认值,类似ENV,不过容器中没有该值
VOLUME 定义匿名卷
EXPOSE 声明端口
WORKDIR 指定工作目录
USER 指定当前用户
HEALTHCHECK 健康检查
ONBUILD 为他人做嫁衣裳
3)通过tar将系统打包成docker容器,用于构建镜像
4)镜像的复制
docker save -o 包名.tar 用户名/版本号
docker load < 包名.tar
docker history <image-ID> #镜像历史信息
上传镜像到docker hub
docker login #根据提示输入用户、密码
docker push #上传镜像(镜像命名要使用 docker hub用户名/版本才能上传)
5)删除镜像
docker kill <container-name> #停止运行的容器
docker rm <container-ID> #需要先删除容器,删除镜像会提示容器IP
docker rmi <image-ID> #删除镜像
3、编写yaml
4、部署