• 容器技术docker入门


    环境:centOS8

    一、docker的安装

    1.安装必要的组件

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

      -y 自动确认安装

      yum-utils yum工具集组件

      device-mapper-persistent-data,lvm2 数据存储的驱动包

     2.设置新的安装源

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

      http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 阿里云镜像安装源

      add-repo  设置新的安装源

     

     3.优先使用安装最快的安装源

    yum makecache 是 将服务bai器上的软件包信息 现在本地缓存,以提高 搜索 安装软件的速度

    yum makecache fast
    

      如果报错去掉fast,在centos8中没有fast

     4.安装docker

    查看版本

    yum list docker-ce --showduplicates | sort –r
    

      

       安装命令:

    yum –y install docker-ce
    

      指定版本安装命令:

    yum install docker-ce-3:19.03.9-3.el7.x86_64
    

      出现的问题:

     原因:centos8默认使用podman代替docker,所以需要containerd.io,那我们就安装一下就好了

    yum install https://download.docker.com/linux/fedora/30/x86_64/stable/Packages/containerd.io-1.2.6-3.3.fc30.x86_64.rpm
    

      继续安装:

     5.启动docker

    service docker start
    

      

     6.查看docker版本

    docker version
    

      

     7.检查docker是否能够运行

    docker pull hello-world
    

      从国外的远程中央仓库中名为hello-world的镜像抽取下载到本地。

     

     8.测试

    docker run hello-world
    

      

     附:

      Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的:

      yum -y update

      升级所有包同时也升级软件和系统内核

      yum -y upgrade
      只升级所有包,不升级软件和系统内核


    二、配置阿里云docker镜像加速

    1.登录阿里云

    2.搜索‘容器镜像服务’

    3.点立即开通

    4.找到镜像加速菜单

    5.将加速代码粘贴到服务器执行


    三docker 概念介绍

    docker 服务器  docker deamon 守护进程

    docker 基于rest API 通信层

    docker 客户端


    四、docker常用命令详解

    1.docker pull 镜像名<:tags>  --从远程仓库抽取镜像

    2.docker images –查看本地镜像

    3.docker run 镜像名<:tags> --创建容器,启动应用

    此时发现浏览器无法访问,是因为容器与主机之间没有映射

    docker宿主机与容器之间的通信 ---- 端口映射

    docker run -p 8000:8080 tomcat

    查看监听 :
    netstat -tulpn

    后台运行:
    docker run -p 8000:8080 -d tomcat

     4.docker ps –查看正在运行中的镜像

     5.docker rm <-f> 容器id –删除容器

      

    移除:
    docker rm 68d4d6c6e803

     发现报错了,原因是不能直接rm,需要先stop 再 rm,如下:

    docker stop 68d4d6c6e803

    docker rm 68d4d6c6e803

     也可以使用强制移除命令,就不用先停止了

    docker rm -f 68d4d6c6e803 

    6.删除镜像

    docker rmi <-f> 镜像名:<tags>

    docker rmi tomcat:8.5.61-jdk8-openjdk

     如果容器已启动,无法移除:

    可以强制移除:
    docker rmi -f tomcat


    五、tomcat容器内部结构

    容器:轻量级虚拟化技术

    中央仓库地址: hub.docker.com

      linux(Red Hat 4.8.5-28)

      jdk(1.8.0_222)

     

      Apache Tomcat/8.5.46

    当我们在执行命令;docker run tomcat 后容器中就自动包含以上组件。

    我们也可以在容器中执行linux命令,因为容器本身就是一个迷你版的linux操作系统

    具体如下:

    在容器中执行命令:
        
    格式: docer exec [-it] 容器id 命令
    
    exec在对应容器中执行命令
    -it 采用交互方式执行命令
    
    实例:docer exec –it *********** /bin/bash

    以下以tomcat容器为例:

    创建一个tomcat容器:
    docker run -d -p 8000:8080 tomcat

    进入容器内部:

    docker exec -it fc035285d037 /bin/bash

    查看linux内核版本:

    cat /proc/version

     查看jdk版本:

    java -version

     退出容器内部:

    exit

     docker 默认存放路径:

    /var/lib/docker
    
        镜像存放在image目录下
    
        容器存放在containers目录下



    六、容器生命周期

    状态:stopedruningpauseddeleted

    待续。。。 


     七、dockerfile构建镜像

      dockerfile镜像描述文件,是一个包含用于组合镜像的命令的文本文档

     

      作用:docker通过读取dockerfile中的指令按步自动生成镜像

     

      指令:docker build –t 机构/镜像名<:tags> dockerfile目录

     

    以下我们构建一个自定义的tomcat镜像并启动该容器

    实例dockerfile自动部署tomcat应用:

    dockerfile文件内指令:
    
    FROM tomcat:latest
    MAINTAINER mashibing.com
    WORKDIR /usr/local/tomcat/webapps
    ADD docker-web ./docker-web

    步骤:

      1.先在本地创建一个docker-web的文件夹

      2. docker-web文件夹内创建一个html文件

      3.docker-web文件夹同级目录下创建Dockerfile文件,注意:该文件不加任何后缀

      4.docker-webDockerfile传至linux服务器,注意:不是容器内部

      5.使用build命令构建自定义镜像

      

    docker build -t mytest/mywebapp:1.0 /usr/image/

     6.启动容器

    docker run -d -p 8001:8080 mytest/mywebapp:1.0

     7.测试


    八、dockerfile 基础命令

    FROM – 基于基准镜像

    LABEL& MAINTAINER –说明信息

      MAINTAINER   cn.test.com

      由个人或机构维护

      LABEL   version = “1.0”

      关键信息描述

      LABEL   description = “呵护”

    WORKDIR  - 设置工作目录

      WORKDIR   /usr/local

      WORKDIR  /usr/local/newdir  #可自动创建目录

      尽量使用绝对路径

    ADD&COPY  -- 复制文件

      ADD hello /    # 复制文件到根路径

      ADD test.tar.gz /   #添加根目录并解压

      ADD 除了复制,还具备添加远程文件功能

    ENV –设置环境常量

      ENV JAVA_HOME /usr/local/openjdk8

      run ${JAVA_HOME }/binjava –jar test.jar

      尽量使用环境常量,可提高程序维护性


    九、

  • 相关阅读:
    apache的源代码编译安装
    python学习笔记(五) 200行实现2048小游戏
    python学习笔记(四) 思考和准备
    python学习笔记(三)高级特性
    python自学笔记(二)
    python自学笔记(一)
    redis 配置和使用(C++)
    汇编基础最后一篇--机器语言指令
    汇编语言学习笔记(六)
    网络编程学习方法和图书推荐
  • 原文地址:https://www.cnblogs.com/bjsze/p/14183170.html
Copyright © 2020-2023  润新知