zoukankan      html  css  js  c++  java
  • docker 学习笔记1(千峰教育)

    1 docker里的几个概念: 

    • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。就行maven的仓库一样.(国外的中央仓库, 国内的如网易蜂巢/daoCloud),其中daoCloud不需要登录(https://hub.daocloud.io/)

            镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器         可以被创建、启动、停止、删除、暂停等。

    2. 安装docker(命令可以从https://www.runoob.com/docker/centos-docker-install.html复制)

      (1) 下载docker的依赖环境

            yum install -y yum-utils  device-mapper-persistent-data lvm2 

      (2)设置docker的镜像源。

           yum-config-manager  --add-repo  http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

       (3) 安装docker

          yum makacache fast

          yum -y install docker-ce

       (4)启动docker并设置开机自启动

           启动:systemctl start docker

           开机自动启动:systemctl enabled docker

       (5)测试docker是否安装成功

            docker run hello-world

    3. 镜像操作

          (1)拉取镜像到本地

               docker pull 镜像名称[:tag]

               docker pull daocloud.io/library/tomcat:8.5.14-jre8

           (2) 查看本地所有镜像

              docker images

           (3) 删除镜像

              docker rmi 镜像的IMAGE ID

    4. 容器操作     

         (1)创建并运行容器

            docker run 镜像的IMAGE ID | 镜像名称[:tag]

             常用参数

                   -d  后台运行

                   -p 宿主机linux的端口: 容器的端口     为了映射当前linux的端口和容器的端口

                   --name 指定容器名称

              如: 运行命令docker run -d -p 8081:8080 --name tomcat a0fdb后, 就可以在浏览器中访问http://192.168.xx.xx:8081/可以出现tomcat了;

         (2)查看正在运行的容器

             docker ps [-qa]          ps是 process status的缩写

             -a 查看全部, 包括没有运行的容器

             -q 只查看容器的标识, 不查看其他信息

          (3)查看日志

               docker logs -f 容器id | 容器name

               -f  可以滚动查看日志最后几行

          (4) 进入容器内部

         docker exec -it 容器id bash
    exit 退出容器
    (5) 删除容器(删除前必须先停止容器)
    docker stop 容器id
    docker rm 容器id
    (6) 停止容器 和 启动容器: 容器的停止和启动只是容器的两种状态, 而不是删除容器, 这两种状态下的容器id是不变的;
    docker stop 容器id | 容器name

     (7)启动容器 : 一旦容器被创建完, 在退出状态启动容器就用该命令

      docker start 容器id | 容器name

    5. docker应用

         (1)准备mysql容器(https://hub.daocloud.io/repos/fa51c1d6-9dc2-49d9-91ac-4bbfc24a1bda)

                 docker run --name mysql -e MYSQL_ROOT_PASSWORD=yourpassword -d -p 3306:3306 daocloud.io/mysql:5.7.4

                (然后可以用navcat来管理mysql数据库: 建立和mysql的连接后, 建库建表)

     (2)将项目打war包, (注意引入路径, mysql连接地址改过来)
    命令: mvn clean package
    (3) 准备tomcat容器
    [1] 查看镜像, (如果没有去拉取)
    docker images
    [2]启动容器
    docker run -d -p 8080:8080 --name tomcat 镜像id

    [3]将war包放到tomcat容器即可: 将war包放到webapps下
    docker cp 文件名称 容器id:容器内部路径
    (docker cp ssm.war tomcat容器id:/usr/local/tomcat/webapps/)
    
    

    [4]查看tomcat日志

    
    

    docker logs -f tomcat

    
    
    
    
    
    
    
    

    注意: 我在pom文件中

    
    
    
    <!--防止文件放到dao下而不是resource下找不到mapping.xml文件-->
    <!--更改maven编译规则-->
    <resources>
    <resource>
    <directory>src/main/java</directory>
    <includes>
    <!--指定放到dao文件夹下的daomappers文件夹下-->
    <include>com.qf.dao.daoMapper.*.xml</include>
    <!--也可以直接放在dao文件夹下-->
    <include>**/*.xml</include>
    </includes>
    <filtering>true</filtering>
    </resource>
            <!--添加resources打包, 如果不添加, 则不包含,打出来的war包不会有resources里的文件-->

    <resource>
    <directory>src/main/resources</directory>
    <filtering>true</filtering>
    </resource>

    </resources>
    
    
    
    
    

      

  • 相关阅读:
    AcWing 900. 整数划分
    AcWing 913. 排队打水
    AcWing 897. 最长公共子序列
    AcWing 895. 最长上升子序列
    AcWing 902. 最短编辑距离
    AcWing 338. 计数问题
    AcWing 896. 最长上升子序列 II
    AcWing 779. 最长公共字符串后缀
    AcWing 282. 石子合并
    ASP.NET里常用的JS (转贴)
  • 原文地址:https://www.cnblogs.com/dangdanghepingping/p/14197989.html
Copyright © 2011-2022 走看看