1. 容器目录挂载
创建容器的时候,将宿主机的目录与容器内的目录进行映射,实现宿主机和容器目录的双向数据自动同步;
通过容器目录挂载,轻松实现代码上传,配置修改,日志同步等需求;
2. 语法
docker run -it -v /宿主机目录:/容器目录 -v /宿主机目录2:/容器目录2 镜像名
【注】:
如果同步的是多级目录,可能会出现权限不足的提示;
这是因为Centos7中的安全模块selinux把权限禁掉了,我们需要添加 --privileged=true 来解决挂载的目录没有权限的问题;
挂载目录只读:docker run -it -v /宿主机目录:/容器目录:ro 镜像名
3. 安装Tomcat8.5
第一步:运行 Tomcat 容器
第二步:宿主机里 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 8888: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" />
4. 安装 mysql5.7
第一步:运行容器
docker run -it --name mysql01 -e MYSQL_ROOT_PASSWORD=mysql 镜像ID
第二步:创建目录 /home/docker/mysql5.7,用于挂载目录
docker cp 容器id:/var/lib/mysql /home/docker/mysql5.7/
docker cp 容器id:/var/log /home/docker/mysql5.7/
docker cp 容器id:/etc/mysql/conf.d /home/docker/mysql5.7/
第三步:关掉之前的容器,启动容器
docker run -p 3301:3306 -d --name mysql01 -v /home/docker/mysql5.7/conf.d/:/etc/mysql/conf.d/ -v /home/docker/mysql5.7/log/:/var/log/ -v /home/docker/mysql5.7/mysql/:/var/lib/mysql/ -e MYSQL_ROOT_PASSWORD=mysql 镜像ID
第四步:导入sql脚本 ,创建数据库。