docker知识点相关笔记五

  1. 创建一个自定义的tomcat9镜像
     ⑴创建一个存放dockerfile的目录
          
     ⑵在这个目录下创建一个test1.txt文件(这个文件是用来演示cp命令的,
         完成宿主机到容器的拷贝)
         
         并且我们在这个目录下准备好jdk和tomcat的压缩包,后面有用
        
    ⑶下面我们开始在这个目录下编写Dockerfile文件
        
        dockerfile文件内容:
        
    #基于我们从阿里云下载下来的centos基础镜像
    FROM centos
    
    #定义维护者的信息
    MAINTAINER kgf<[email protected]>
    
    #把宿主机当前上下文的test1.txt文件拷贝到容器/usr/local/路径下
    COPY test1.txt /usr/local/test1Copytocontainer.txt
    
    #把java与tomcat添加到容器中
    ADD jdk-8u191-linux-x64.tar.gz /usr/local/
    ADD apache-tomcat-9.0.12.tar.gz /usr/local/
    
    #安装vim编辑器
    RUN yum -y install vim
    
    #设置工作访问时候的workdir路径,登录落脚点
    ENV MY_PATH /usr/local
    WORKDIR $MY_PATH
    
    #配置java与tomcat环境变量
    ENV JAVA_HOME /usr/local/jdk1.8.0_191
    ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.12
    ENV CATALINA_BASE /usr/local/apache-tomcat-9.0.12
    ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin
    
    #容器运行时监听的端口
    EXPOSE 8080
    
    #启动时运行tomcat,下面的三种方式随便一种都可以使用
    #ENTRYPOINT ["/usr/local/apache-tomcat-9.0.12/bin/startup.sh"]
    #CMD ["/usr/local/apache-tomcat-9.0.12/bin/catalina.sh","run"]
    CMD /usr/local/apache-tomcat-9.0.12/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.12/bin/logs/catalina.out
    

     ⑷执行dockerfile文件
         命令:docker build -f /tmp/kgf/tomcat9/Dockerfile -t kgftomcat9:1.1 .
         
         
    ⑸运行镜像生成镜像的实例容器
        命令如下:

    docker run -d -p 9080:8080 --name myt9
    -v /tmp/kgf/tomcat9/test:/usr/local/apache-tomcat-9.0.12/webapps/test
    -v /tmp/kgf/tomcat9/tomcat9logs:/usr/local/apache-tomcat-9.0.12/logs
    --privileged=true
    kgftomcat9:1.1
    
    #注释:
         -d:表示后台运行
         -p 宿主机端口号:容器内运行的软件程序端口  --->表示将容器内端口映射到宿主机,对外开放
         --name +容器名称  --->为运行启动的容器起一个别名
         -v +宿主机路径:容器内路径  --->表示为宿主机和容器添加关联数据卷
         --privileged=true   ---->这是为了防止数据卷没有读写权限
         kgftomcat9   ---->这个是镜像的名称
           


    查看运行效果:
       
     我们可以在外面查看容器类的目录:
      
      
      
     

  2. 下面在自定义的tomcat9上发布web项目演示
    ⑴因为我们在容器内创建关联的数据卷目录是test命令,所以我们就将一个
        简单的名称为test的web项目部署到容器内。
        a:注意
             因为宿主机的test目录是和容器类的test关联目录,所以我们只需要将
             项目内文件传递到宿主机内即可。
             
      b:查看容器内test目录下文件
           
    ⑵重新启动运行的容器
        
      效果(完美):
         

  3. docker上安装mysql
      ⑴从阿里云上拉取5.6版本mysql
            命令:docker pull mysql:5.6
            
       ⑵使用镜像运行容器
            命令:

    docker run -p 12345:3306 --name mysql 
    -v /tmp/mysql/conf:/etc/mysql/conf.d
    -v /tmp/mysql/logs:/logs
    -v /tmp/mysql/data:/var/lib/mysql 
    -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
    
    命令说明:
    -p 12345:3306 :  将主机的12345端口映射到docker容器的3306端口
    --name mysql :自定义运行服务的名字
    -v /tmp/mysql/conf:/etc/mysql/conf.d :将主机/tmp/mysql/conf目录挂载到容器的/etc/mysql/conf.d
    -v /tmp/mysql/logs:/logs :将主机/tmp/mysql/logs目录挂载到容器的/logs
    -v /tmp/mysql/data:/var/lib/mysql :将主机/tmp/mysql/data目录挂载到容器的/var/lib/mysql
    -e MYSQL_ROOT_PASSWORD=123456 :初始化root用户的密码
    -d mysql:5.6 后台运行mysql5.6程序

      ⑶执行效果:
          
      ⑷进入容器
              
     ⑸下面我们同宿主机上的工具链接一下试试
           

  4. 将我们的镜像提交到阿里云上
     ⑴查看镜像
         
    ⑵首先运行mycentos镜像容器,并且提交一个新的版本
          
    ⑶首先登陆到阿里云服务器上
           
    ⑷创建镜像仓库
          
         
        
       
    ⑸下面我们需要将镜像推送到阿里云
         
         
         a:首先我们链接登陆阿里云
             
         b:对上传到阿里云上标签的处理
               
        c:下面就是向阿里云上push了
               
        d:下面我们可以到阿里云上去搜索一下
               
       e:可以到阿里云官网直接搜索,因为是公开的,这里我们就不演示了,可以直接搜索kgfbuy/mycebtos
       

  5. 那么我们再演示一下如何从阿里云下载下来
     a:首先我们先把本地的删除
              
           
      b:下载下来
           命令:docker pull registry.cn-qingdao.aliyuncs.com/kgfbuy/mycentos:1.2.1
             
       

    上一篇:docker知识点相关笔记四
    文章目录


         

猜你喜欢

转载自blog.csdn.net/K_520_W/article/details/83688496