微服务在Docker中的部署的与实战相关知识

微服务中的docker的实战:

Docker的image的拉取和删除相关镜像

Docker的服务部署一

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服务器

注:没有关闭服务器的需要先停止服务,进入tomcat的bin目录,输入命令

猜你喜欢

转载自blog.csdn.net/weixin_41605937/article/details/105959581