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 load -i 镜像文件
docker load -i mytomcat7.1.tar