Docker容器目录挂载 Docker常用软件安装 Docker迁移与备份

1.语法:
docker run -it -v  /宿主机目录:/容器目录 镜像名
多目录挂载
docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2  镜像名
 注意:
如果你同步的是多级目录,可能会出现权限不足的提示;
这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加  --privileged=true 来解决挂载的目录没有权限的问题;
 

docker run -it -v  /宿主机目录:/容器目录:ro 镜像名
 

2.在docker上安装tomcat7 和配置

第一步:运行容器
 
第二步:宿主机里home目录下新建tomcat目录,复制容器里conf,webapps到宿主机
 docker cp  容器id:/usr/local/tomcat/conf  /home/tomcat/
 docker cp  容器id::/usr/local/tomcat/webapps  /home/tomcat/
  
 
第三步:把容器里的tomcat里的webapp,logs,conf挂载到宿主机tomcat目录下,方便上传代码,同步持久化日志,以及方便配置tomcat;关掉容器,启动容器;
  docker run -d --name 容器名称 -p 80:8080 -v /home/tomcat/conf/:/usr/local/tomcat/conf/  -v /home/tomcat/webapps/:/usr/local/tomcat/webapps/ -v /home/tomcat/logs/:/usr/local/tomcat/logs/   镜像名称
 
第四步:配置tomcat server.xml 以及 同步上传war包
    <Context path="" docBase="/usr/local/tomcat/webapps/WebTest" debug="0" reloadable="true" />   


 3.在docker上安装mysql5.7和配置
 第一步:运行容器
 
 第二步:宿主机里home目录下新建mysql目录,复制容器里conf,webapps到宿主机
 docker cp  容器id:/etc/mysql/conf.d  /home/mysql/
 docker cp  容器id::/var/log  /home/mysql/
 docker cp  容器id::/var/lib/mysql  /home/mysql/ 
 
第三步:把容器里的tomcat里的webapp,logs,conf挂载到宿主机tomcat目录下,方便上传代码,同步持久化日志,以及方便配置tomcat;关掉容器,启动容器;
 docker run -p 3306:3306  -d  -v /etc/mysql/conf.d/:/home/mysql/conf/ -v /var/log:/home/mysql/log/ -v /var/lib/mysql/:/home/mysql/mysql/ -e MYSQL_ROOT_PASSWORD=123456  镜像ID
 
第四步:用sqlyog连接docker里的数据库,导入sql脚本 
注意点:运行的项目里的数据库连接地址,要写docker里的mysql容器所在的虚拟IP地址;容器间通信IP;
 
4.

备份镜像:
docker save -o 备份镜像的名称  源镜像名称:tag版本
 docker save -o mytomcat7.1.tar java1234/tomcat7:7.1

 Docker容器目录挂载 Docker常用软件安装 Docker迁移与备份
恢复镜像:
docker load -i 镜像文件
docker load -i mytomcat7.1.tar

 Docker容器目录挂载 Docker常用软件安装 Docker迁移与备份