网站建设技术主管,怎么样自己做网站,网站开发流程ppt,会员管理系统多少钱1. 本文思路
拉取基础镜像基于镜像创建容器在容器中#xff0c;安装所需依赖部署脚本提交容器#xff0c;生成新的镜像编写Dockerfile#xff0c;添加启动命令#xff0c;生成最终镜像导出镜像
2. 操作步骤
2.1 基础环境
# 拉取镜像
docker pull centos:7.6.1810
# 运行…1. 本文思路
拉取基础镜像基于镜像创建容器在容器中安装所需依赖部署脚本提交容器生成新的镜像编写Dockerfile添加启动命令生成最终镜像导出镜像
2. 操作步骤
2.1 基础环境
# 拉取镜像
docker pull centos:7.6.1810
# 运行
docker run -itd --name centos:7.6.1810
# 进入容器开始
docker exec -it sys /bin/bash
# 安装dos2unix、lsof等
yum update
yum install dos2unix
yum install lsof
# 此处省略其他安装
# 退出容器结束
exit
# 提交生成新的镜像containerId为我们上述生成的容器对应的Idbase_env为新导出的镜像
docker commit containerId base_env:1.0.0
2.2 编写Dockerfile
FROM base_env:1.0.0
WORKDIR /opt/scrapy
COPY conf/ /opt/scrapy/conf/
CMD [/bin/sh, -c, /opt/scrapy/startup.sh start]
EXPOSE 8081
EXPOSE 9016
参数如下
FROM依赖镜像WORKDIR当前文件夹COPY拷贝将文件拷贝到容器中CMD容器启动后执行的初始化命令EXPOSE暴露端口
2.3 构建镜像
在Dockerfile文件对应的目录下执行
# 构建
docker build -t tools:1.0.0 .
# 构建成功后查看
docker images 2.4 启动
docker run -itd --name tools -p 8081:8081 -p 9016:9016 tools:1.0.0
2.5 导出及导入镜像
# 导出镜像
docker save -o tools.tar tools
# 导入镜像
docker load -i tools.tar
3. 踩坑点
3.1 不要后台启动 传统的部署脚本我们启动脚本时候都会使用nohup命令将程序后台执行但是容器启动初始化将其放后台会导致检测不到程序存在容器会自动关闭。因此直接执行即可例如 java -jar xxx.jar。
3.2 编译的时候配置文件缺失 使用docker build的时候存在xml配置文件丢失的情况。百度后得知该情况和启动容器时候使用-v配置挂载路径相关。编译时候如有需要可以使用ADD命令添加。