Docker学习

  1. 容器简介

    Linux容器是与系统其他部分隔离开的一系列进程,从另一个镜像运行,并由该镜像提供支持进程所需的全部文件。容器提供的镜像包含了应用的所有依赖项,因而在从开发到测试再到生产的整个过程中,它都具有可移植性一致性

    容器和虚拟化区别:
    虚拟化使得许多操作系统可同时在单个系统上运行。
    容器则可共享同一个操作系统内核,将应用进程与系统其他部分隔离开。


    这意味着什么?首先,让多个操作系统在单个虚拟机监控程序上运行以实现虚拟化,并不能达成和使用容器同等的轻量级效果。事实上,在仅拥有容量有限的有限资源时,您需要能够可以进行密集部署的轻量级应用。Linux 容器可从单个操作系统运行,在所有容器中共享该操作系统,因此应用和服务能够保持轻量级,并行快速运行。 
     
  2. 什么是Docker?

    IT 软件中所说的 “Docker” ,是指容器化技术,用于支持创建和使用 Linux 容器。

    借助 Docker ,您可将容器当做重量轻、模块化的虚拟机使用。同时,您还将获得高度的灵活性,从而实现对容器的高效创建、部署及复制,并能将其从一个环境顺利迁移至另一个环境。

    Docker工作原理
    Docker 技术使用 Linux 内核和内核功能(例如 Cgroups 和 namespaces)来分隔进程,以便各进程相互独立运行。这种独立性正是采用容器的目的所在;它可以独立运行多种进程、多个应用程序,更加充分地发挥基础设施的作用,同时保持各个独立系统的安全性。
    容器工具(包括 Docker)
    可提供基于镜像的部署模式。这使得它能够轻松跨多种环境,与其依赖程序共享应用或服务组。Docker 还可在这一容器环境中自动部署应用程序(或者合并多种流程,以构建单个应用程序)。
    由于这些工具基于 Linux 容器构建,使得 Docker 既易于使用,又别具一格 —— 它可为用户提供前所未有的高度应用程访问权限、快速部署以及版本控制和分发能力。

    Docker的目标
    docker的主要目标是"Build,Ship and Run any App,Angwhere",构建,运输,处处运行
     构建:做一个docker镜像
    运输:docker pull
    运行:启动一个容器
    每一个容器都有自己的文件系统rootfs

     
  3. 安装Docker

    安装链接

    基础命令操作:
    # 查看版本  docker version
    # 启动第一个容器   docker run -d -p 80:80 nginx
       参数说明:run创建并运行一个容器;-d放入后台;-p端口映射;nginx镜像名称

    Docker镜像生命周期

  4. Docker镜像相关操作

    # 搜索官方仓库镜像
    docker search centos

    # 获取镜像
    # 根据镜像名称拉取镜像
    docker pull centos
    # 查看当前主机镜像列表
    docker image list
    # 拉第三方镜像方法
    docker pull index.tenxcloud.com/tenxcloud/httpd

    导出镜像
    docker image list
    docker image save centos > docker-cenetos.tar.gz

    删除镜像
    docker image rm centos:latest
    docker image list

    导入镜像
    docker image load -i docker-centos.tar.gz

    查看镜像的详细信息
    docker image inspect centos

     
  5. 容器的日常管理

    容器的启/停
    docker run nginx

    创建容器,两步走(不常用)
    docker create centos:latest /bin/bash
    docker start stupefied_nobel

    快速启动容器方法
    docker run centos:latest /usr/bin/sleep 20;

    容器内的第一个进程必须一直处于运行状态,否则这个容器,就会处于推出状态!

    查看正在运行的容器
    docker container ls
    docker ps

    查看容器的详细信息/ip
    docker container inspect 容器名称/id

    查看所有容器(包括未运行的)
    docker ps -a

    停止容器
    docker stop 容器名称/id
    or
    docker container kill 容器名称/id

    进入容器方法
    启动时进去方法
    docker run -it    # -it 可交互终端
    docker run -it nginx:latest /bin/bash

    退出/离开容器
    ctrl+p  &  ctrl + q

    启动后进入容器的方法
    docker run -it centos:latest
    ps -ef

    # 命令太多,可直接查看原文

     
  6. Docker为什么分层

    镜像分层最大的一个好处就是共享资源。

    比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。

    如果多个容器共享一份基础镜像,当某个容器修改了基础镜像的内容,比如 /etc 下的文件,这时其他容器的 /etc 是不会被修改的,修改只会被限制在单个容器内。这就是容器 Copy-on-Write 特性。

     
  7. docker-compose编排工具

    安装
    # 下载pip软件
    yum install -y python2-pip
    # 下载docker-compose
    pip install docker-compose
    # 国内开启pip下载加速:http://mirrors.aliyun.com/help/pypi
    mkdir ~/.pip/
    cat > ~/.pip/pip.conf <<'EOF'
    [global]
    index-url = https://mirrors.aliyun.com/pypi/simple/
    [install]
    trusted-host=mirrors.aliyun.com
    EOF

    编排启动镜像
    # 创建文件目录
    mkdir /opt/my_wordpress/
    cd /opt/my_wordpress/
    # 编写编排文件
    vim docker-compose.yml
    # 启动
    docker-compose up
    # 在浏览器访问http://10.0.0.100:8000
    进行wordpress的安装即可

     

  8. 参考资料:

    容器简介
    容器原理
    docker基础命令
    构建镜像
    镜像分层

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值