一 、docker安装
CentOS 7离线安装Docker_shengzang1998的博客-CSDN博客
二、 制作基本的符合项目使用的centos镜像包
1. 创建Dockfile文件,用来生成基础镜像,Dockerfile文件所在的目录添加mssp的安装包和需要的配置文件(Dockfile可以使用一些简单的shell操作)
Dockefile文件内容如下,支持简单命令,有特殊需要可修改脚本
FROM centos:7.2.1511
maintainer sangfor-mssp
copy CloudMSSEnv3.0.0.f2b19c8(20200218).tar.gz /tmp
copy CloudSOC3.0.0.d93789d(20200218).tar.gz /tmp
2. docker build -t my_centos . 生成镜像包
docker import docker.img mssp_0407 导入镜像
docker run --privileged -itd --name appstore_vsw_8568880453960392163 mssp_0407 运行实例(启动容器)
docker commit 容器ID docker_mss3.0_3_3 (将修改提交到容器中)
docker export d4227b87df74 |gzip>docker.img(将容器导出镜像)
三、docker部署中需要考虑的一些问题
1. 内存,cpu 限制
Cgroups机制 -m -c
docker分配CPU、内存资源 - 百度文库https://wenku.baidu.com/view/2d37c10e925f804d2b160b4e767f5acfa0c7834d.html
2核4G
2. 数据持久化问题
采用的bind模式
volume :需要注意的是,与bind mount不同的是,如果volume是空的而container中的目录有内容,那么docker会将container目录中的内容拷贝到volume中,但是如果volume中已经有内容,则会将container中的目录覆盖。
bind mount :不管host目录是否有值,都要覆盖容器映射的目录
两种用法:
bind: -v /host/data:/docker_container/data
volume: -v my_volume:/docker_container/data (在主机的/var/lib/docker/volumes/目录下)
3. 网络配置
pipework 桥接模式
4. 镜像包安全问题
对打出来的镜像包 再使用加密压缩
对内部关键性代码进行加密