美文网首页
Docker入门到入门(一)

Docker入门到入门(一)

作者: 刘_小_二 | 来源:发表于2020-07-27 16:46 被阅读0次

    Docker 是一个用于开发,交付和运行应用程序的开放平台。Docker 使您能够将应用程序与基础架构分开,从而可以快速交付软件。借助 Docker,可以与管理应用程序相同的方式来管理基础架构。通过利用 Docker 的方法来快速交付,测试和部署代码,可以大大减少编写代码和在生产环境中运行代码之间的延迟。

    Docker架构,Docker包括三个基本概念:

    • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

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

    • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

    Docker安装

    1.安装环境

    当前操作在Linux环境进行安装

    2.安装

    2.1 安装运行

    2.1.1 使用Yum源安装
    # 把yum包更新到最新
    sudo yum update
    
    # 查看是否已安装docker
    yum list installed | grep docker
    
    # 安装docker
    yum install docker
    
    # 查看安装后版本
    docker version
    
    2.1.2 启动docker
    # 开机自启
    sudo systemctl enable docker 
    
    # 启动docker服务  
    sudo systemctl start docker
    
    # 停止docker服务 
    sudo systemctl stop docker
    
    2.1.3 查看docker服务状态
    # 查看docker服务状态
    systemctl status docker
    
    # 查看日志状态成功日志
    systemctl status docker.service
    
    2.1.4 添加docker用户组(可选)
    # 建立 Docker 用户组
    sudo groupadd docker
    
    # 添加当前用户到 docker 组
    sudo usermod -aG docker $USER
    
    2.1.5 镜像加速配置
    # 加速器地址 :
    # 阿里云控制台搜索容器镜像服务
    # 进入容器镜像服务, 左侧最下方容器镜像服务中复制加速器地址
    sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["你的加速器地址"]
    }
    EOF
    # 重启docker
    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    *列:

    {
      "registry-mirrors": [
         "https://registry.docker-cn.com",
         "https://docker.mirrors.ustc.edu.cn",
         "http://hub-mirror.c.163.com",
         "https://cr.console.aliyun.com/"
      ]
    }
    

    2.2 常用docker运行命令

    # 拉取docker镜像(从Docker hub上下载某个镜像);
    docker pull image_name<镜像名称>
    
    # 查找Docker Hub上的nginx镜像;
    docker search image_name<镜像名称>
    
    # 查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下;
    docker images
    
    # 删除镜像
    docker rmi docker.io/tomcat:7.0.77-jre7 或者 docker rmi b39c68b7af30<镜像id>
    
    # 查看当前正在运行容器
    docker ps
    
    # 查看所有容器
    docker ps -a
    
    # 启动、停止、重启容器命令(container_name:容器名、container_id:容器id)
    docker start container_name/container_id
    docker stop container_name/container_id
    docker restart container_name/container_id
    
    # 后台启动一个容器后,如果想进入到这个容器,可以使用attach命令(如果从这个容器退出,会导致容器的停止。)
    docker attach container_name/container_id
    
    # 进入一个已经在运行的容器(推荐大家使用 docker exec 命令,因为此退出容器终端,不会导致容器的停止。)
    sudo docker exec -it 775c7c9ee1e1 /bin/bash 
    
    # 退出容器
    exit
    
    # 删除容器的命令(container_name:容器名、container_id:容器id)
    docker rm container_name/container_id
    
    # 删除所有停止的容器
    docker rm $(docker ps -a -q)
    
    # 查看当前系统Docker信息
    docker info
    
    # 查看容器的日志命令(container_name:容器名、container_id:容器id)
    docker logs container_name/container_id
    

    2.3 安装目录详情

    ​ docker默认安装目录:

    /var/lib/docker
    

    ​ docker启动后日志会在以下位置:

    /var/lib/docker/containers/容器ID/容器ID-json.log
    

    2.4 Docker从容器拷贝文件到宿主机操作案例

    案例一:
    # 以elasticsearch容器为例
    # 运行es
    docker run -d -p 9200:9200  elasticsearch:5.4
    # 查看已运行的容器
    docker ps
    # 进去容器内部,找到需要拷贝的文件及目录
    docker exec -it 2c2600fb60f8 /bin/bash
    # 从容器中退出
    exit
    # 将container id为4db8edd86202的容器内elasticsearch.yml文件拷贝到宿主机指定目录下:
    docker cp 4db8edd86202:/usr/share/elasticsearch/config/elasticsearch.yml /home/haopeng/es
    

    【把docker中容器时db002里面的my.cnf文件拷贝到根目录下】

    docker cp db002:/etc/mysql/my.cnf  ~/root/
    

    【把根目录下my.cnf文件拷贝到docker中容器时db002里面】

    docker cp ~/root/my.cnf   db002:/etc/mysql/my.cnf 
    

    2.5 端口映射问题(易忽略)

    *列:

    0.0.0.0:5000->5000/tcp 
    

    说明:容器内部的 5001 端口映射到我们本地主机的 5000 端口上。

    3.Docker Dockerfile

    Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。

    4.Docker Compose

    Compose 是用于定义和运行多容器 Docker 应用程序的工具。通过 Compose,您可以使用 YML 文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从 YML 文件配置中创建并启动所有服务。

    相关文章

      网友评论

          本文标题:Docker入门到入门(一)

          本文链接:https://www.haomeiwen.com/subject/ucazlktx.html