docker制作镜像及k8s部署应用

技术文档网 2021-06-24
一些基础镜像
  1. python-webapp(centos:7镜像上部署flask框架webapp)(http://42.194.178.30:30123/)
    sudo docker pull registry.cn-hangzhou.aliyuncs.com/dengyunjie/python-webapp:1
    
  2. basic-centos(centos:7镜像上修改yum源为阿里源 修改vi中tab为4空格)
    sudo docker pull registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:1
    
  3. basic-java(basic-centos镜像上安装了java18)
    sudo docker pull registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-java:1
    
  4. java-webapp(basic-java镜像上安装了tomcat9 tomcat base路径为webapp)(http://42.194.178.30:30003/ROOT)
    sudo docker pull registry.cn-hangzhou.aliyuncs.com/dengyunjie/java-webapp:1
    
    ```
    交互式运行容器,镜像为centos:7
    docker run --name basic-centos -it --network host centos:7
    对容器做一些任意修改
利用容器制作镜像(docker commit -m=提交的描述信息 -a=指定镜像作者 容器名 镜像名:镜像版本)

docker commit -m="yum->ali tab->four" -a="dengyunjie" basic-centos basic-centos:1

查看镜像是否存在输出镜像描述信息

docker inspect java-webapp:1 |grep Comment

登录阿里云Docker Registry(docker仓库因为在国外,不稳定)

sudo docker login --username=uestcdyj registry.cn-hangzhou.aliyuncs.com

将镜像推送到Registry

docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:[镜像版本号] docker push registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:[镜像版本号]

例:

docker tag basic-centos:1 registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:1 docker push registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:1

换一台测试机,拉取镜像

sudo docker login --username=uestcdyj registry.cn-hangzhou.aliyuncs.com docker pull registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:1

运行

docker run --name basic-centos -it --network host registry.cn-hangzhou.aliyuncs.com/dengyunjie/basic-centos:1


k8s 部署web应用

docker run --name basic-centos -it --network host centos:7

部署java18
部署Tomact9 部署到/usr/local/tomcat9
修改Tomcat base 目录为webapp

之间添加:

例:
   <Host name="localhost"  appBase="webapps"
        unpackWARs="true" autoDeploy="true">

    <!-- SingleSignOn valve, share authentication between web applications
         Documentation at: /docs/config/valve.html -->
    <!--
    <Valve className="org.apache.catalina.authenticator.SingleSignOn" />
    -->

    <!-- Access log processes all example.
         Documentation at: /docs/config/valve.html
         Note: The pattern used is equivalent to using pattern="common" -->
    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
           prefix="localhost_access_log" suffix=".txt"
           pattern="%h %l %u %t &quot;%r&quot; %s %b" />
    <Context path="" docBase="/usr/local/tomcat9/webapps/" debug= "0" reloadable="true" crossContext="true"></Context>
  </Host>

启动Tomcat
如果正常访问,继续如下步骤,不能访问,检查启动容器时是否添加了--network host
退出容器

exit

制作镜像并提交到远程仓库
k8s pod文件编写:
其他:

docker cp 要拷贝的文件路径 容器名:要拷贝到容器里面对应的路径 ```

相关文章

  1. 利用Docker搭建基于GIT的源代码管理工具Gitea

    Gitea 拥有很低的系统需求,即使Raspberry Pi也可运行,节约机器资源!如果资源有限,使用Gitea作为源代码管理工具是一个不错的选择。 docker-compose配置文件 可以利用

  2. docker搭建kong过程

    1、docker 的安装 # 更新系统包到最新。 sudo yum -y update # 执行Docker安装脚本 sudo curl -sSL https://get.docker.com/ |

  3. 在Docker中运行MinDoc的几点注意事项

    项目内提供了生成Docker镜像的Dockerfile文件,用户可自行编译。 之前一直使用daocloud编译镜像,最近发现这个平台很不稳定,很多时候无法正常编译成功。 目前准备切换到阿里云镜像托管服

  4. 使用docker-compose快速部署

    根据本指南操作,你将会得到... 可以直接通过IP的80端口访问的发卡的网站 优点 配置只需要几分钟(特指对docker熟悉的人) 不用通过lnmp脚本花太多时间来编译安装所需的软件 不用手动去

  5. rabbitmq高可用集群搭建(Docker)

    第一步:在docker中搭建rabbitmq集群 以下是集群搭建脚本,可根据自身需求配置或修改后使用。说明:这里只在同一台物理机进行搭建,以下所有参数配置均是在同一台机器上,如要分布式部署,注意自行修

随机推荐

  1. 利用Docker搭建基于GIT的源代码管理工具Gitea

    Gitea 拥有很低的系统需求,即使Raspberry Pi也可运行,节约机器资源!如果资源有限,使用Gitea作为源代码管理工具是一个不错的选择。 docker-compose配置文件 可以利用

  2. docker搭建kong过程

    1、docker 的安装 # 更新系统包到最新。 sudo yum -y update # 执行Docker安装脚本 sudo curl -sSL https://get.docker.com/ |

  3. 在Docker中运行MinDoc的几点注意事项

    项目内提供了生成Docker镜像的Dockerfile文件,用户可自行编译。 之前一直使用daocloud编译镜像,最近发现这个平台很不稳定,很多时候无法正常编译成功。 目前准备切换到阿里云镜像托管服

  4. 使用docker-compose快速部署

    根据本指南操作,你将会得到... 可以直接通过IP的80端口访问的发卡的网站 优点 配置只需要几分钟(特指对docker熟悉的人) 不用通过lnmp脚本花太多时间来编译安装所需的软件 不用手动去

  5. rabbitmq高可用集群搭建(Docker)

    第一步:在docker中搭建rabbitmq集群 以下是集群搭建脚本,可根据自身需求配置或修改后使用。说明:这里只在同一台物理机进行搭建,以下所有参数配置均是在同一台机器上,如要分布式部署,注意自行修