目录
准备
删除容器
创建并运行一个容器
数据卷(Volumes)
挂载数据卷
虚拟机端口映射
挂载目录(Bind mounts)
挂载目录
挂载文件
部署在线项目
准备
删除容器
docker rm -f $(docker ps -aq)
创建并运行一个容器
方法一
docker run -itd \
--name t1 \
-p 8080:8080 \
--mount source=v1,target=/usr/local/tomcat/webapps \
tomcat:8.5.20
方法二
docker start c1
docker exec -it c1 bash
数据卷(Volumes)
挂载和数据卷的区别:数据卷和替换整个目录而挂载只会替换一个文件夹或者一个文件,所以挂载的使用性更高;数据卷替换所有文件后可能导致tomcat 或者 mysql无法使用 因为配置文件被全部替换
- 数据卷 可以在容器之间共享和重用
- 对 数据卷 的修改会立马生效
- 对 数据卷 的更新,不会影响镜像
- 数据卷 默认会一直存在,即使容器被删除
docker volume create v1
docker volume ls
docker volume inspect v1
docker volume rm v1
挂载数据卷
docker run -itd \
--name 容器名字 \
--mount source=数据卷名称,target=容器中的对应目录 \
镜像名称
实际例子
docker run -it \
--name c1 \
--mount source=v1,target=/testdir \
centos
docker inspect name
docker inspect v1
虚拟机端口映射
通过虚拟机端口映射可在虚拟机中运行tomcat,在本机访问tomcat端口
docker run -itd \
--name t1 \
-p 8080:8080 \
--mount source=v1,target=/usr/local/tomcat/webapps \
tomcat:8.5.20
虚拟机要开放端口
firewall-cmd --zone=public --add-port=8080/tcp
挂载目录(Bind mounts)
soft直接将webapps替换了
-v 可以挂载目录
-v 还可以单独挂载文件
挂载目录
挂载一个目录也是文件夹,先创建一个soft目录,mkidr soft
docker run -itd \
--name t1 \
-v /soft/usr/local/tomcat/webapps/oapro.war \
-p 8080:8080 \
tomcat:8.5.20
挂载文件
docker run -itd \
--name t1 \
-v /soft/oapro.war:/usr/local/tomcat/webapps/oapro.war \
-p 8080:8080 \
tomcat:8.5.20
想实现远程登录到容器内部的tomcat
实现在线部署项目
需要放入tomcat的用户信息 tomcat-user.xml 文件中
还要允许外部访问 webapps/manager/META-INF/context.xml
需要提前vi编辑tomcat-users.xml 文件,编辑用户信息admin;
删除context.xml 文件中的部分内容
部署在线项目
docker run -itd \
--name t1 \
-v /soft/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml \
-v /soft/context.xml:/usr/local/tomcat/webapps/manager/META-INF/context.xml \
-p 8080:8080 \
tomcat:8.5.20
文章来源:https://www.toymoban.com/news/detail-802616.html
注:mysql nginx的配置文件都要通过挂载的形式文章来源地址https://www.toymoban.com/news/detail-802616.html
到了这里,关于进阶Docker2:数据卷和挂载目录的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!