微服务中的docker的实战:
Docker的image的拉取和删除相关镜像
查看镜像
docker search mysql
拉取镜像
docker pull mysql:5.7
运行镜像
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=你的密码 -d mysql:5.7
-d 标识是让 docker 容器在后台运行。
-p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上。
–name 定义一个容器的名字,如果在执行docker run时没有指定Name,那么deamon会自动生成一个随机数字符串当做UUID。
-e 设置环境变量,或者覆盖已存在的环境变量
3306:3306 将容器的3306端口映射到本机的3306端口
查看运行的容器
docker ps -a
查看正在运行的容器:
进入容器
docker exec -it 容器ID bash /或者 docker exec -it 容器名 bash
连接
mysql -u root -p 123456
在docker中的删除某一个镜像images的步骤是:
查询所欲的镜像文件
查询容器
删除容器
再来删除的images
注意点:
1. 删除前需要保证容器是停止的 stop
2. 需要注意删除镜像和容器的命令不一样。 docker rmi ID ,其中 容器(rm) 和 镜像(rmi)
3. 顺序需要先删除容器
Docker的服务部署一
部署java的不普通的项目部署到Tomcat下webapps目录下
在tomcat镜像中部署javaweb项目 ,打包javaweb项目像通常的javaweb项目部署一样,首先需要将javaweb项目打成war包.
将war包放入到docker下的tomcat中.docker中的命令是:
docker cp test.war containerID: /usr/local/tomcat/webapps/
containerID是你所启动tomcat镜像的容器ID或者容器名称也可以。
将test.war放到tomcat的webapps下
Docker中的服务部署方式二
进入Docker容器的文件目录,通过tomcat-users.xml 配置tomcat管理员
进入Docker容器的文件目录,通过tomcat-users.xml 配置tomcat管理员
进入容器内部文件系统 ,进入容器内部 容器内部有一些设置文件 只能通过这种方式进入 ,交互式的进入tomcat容器。“docker exec”命令表示在运行中的容器中开启一个新的进程。
docker exec -it ea422adc42c5 bash
#进入webapps文件夹下查看一下存在的war包
cd webapps
进入tomcat的conf文件夹下:
1.-v 挂载 docker run -v localConfigFile:/containerPath
2.exec 进入容器修改 docker exec -it containerID bash 可以安装vi进行修改
3.cp 可以将宿主机的配置文件拷贝到container中, docker cp host/path:/container/path
找到一个tomcat容器外部的已经配置好的tomcat-users.xml文件。配置tomcat-users.xml文件
第一步:进入tomcat的安装目录
第二步:打开tomcat-users.xml文件
vim conf/tomcat-users.xml
按i键进入INSERT模式,编辑xml配置文件
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="admin" password="password" roles="admin-gui,admin,manager-gui,manager,manager-script,manager-jmx,manager-status"/>
<!--这是tomcat给出的参考格式
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="<must-be-changed>" roles="tomcat"/>
<user username="both" password="<must-be-changed>" roles="tomcat,role1"/>
<user username="role1" password="<must-be-changed>" roles="role1"/>
-->
</tomcat-users>
(2)在tomat_home/conf/Catalina/localhost/下 添加manager.xml
配置远程访问manager:在tomat_home/conf/Catalina/localhost/下 添加manager.xml
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="^.*$" />
</Context>
tomcat访问host-manager报403错误处理方法进入目录修改 tomcat9091-2/webapps/host-manager/META-INF/context.xml
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
allow 修改为 allow="^.*$"
<Context antiResourceLocking="false" privileged="true" >
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="^.*$" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
</Context>
第四步:保存并退出
注:没有关闭服务器的需要先停止服务,进入tomcat的bin目录,输入命令