CLOUD:Docker基础部署,命令,镜像

概述

什么是容器

  • 容器技术已经成为应用程序封装和交付的核心技术
  • 容器技术的核心有以下几个内核技术组成:
    – Cgroups(Control Groups) -资源管理
    – NameSpace-进程隔离
    – SELinux安全
  • 由于是在物理机上实施隔离,启动一个容器,可以像一个进程一样快速

什么是Docker

  • Docker是完整的一套容器管理系统
  • Docker提供了一组命令,让用户更加方便直接地使用容器技术,而不需要过多关心底层内核技术

Docker特性

Docker优点

  • 相比于传统的虚拟化技术,容器更加简洁高效
  • 传统虚拟机需要给每个VM安装操作系统
  • 容器使用的共享公共库和程序
    在这里插入图片描述

Docker缺点

  • 容器的隔离性没有虚拟化强
  • 共用Linux内核,安全性有先天缺陷
  • SELinux难以驾驭
  • 监控容器和容器排错是挑战

部署Docker

安装前准备

  • 需要64位操作系统
  • 至少RHEL6.5以上的版本,强烈推荐RHEL7
  • 关闭防火墙(不是必须)

安装Docker

  • 配置yum源
    – docker软件包位于光盘RHEL7-extras.iso中
mkdir /mnt/extras
mount RHEL7-extras.iso /mnt/extras
vim /etc/yum.repos.d/dvd.repo
[extras]
name=extras
baseurl=file:///root/extras
enabled=1
gpgcheck=0
  • 软件包安装
yum -y install docker
systemctl restart docker
systemctl enable docker

Docker镜像

什么是镜像

  • 在Docker中容器是基于镜像启动的
  • 镜像的启动容器的核心
  • 镜像采用分层设计
  • 使用快照的COW技术,确保底层数据不丢失
    docker images #查看所用的镜像

Docker hub镜像仓库

  • https://hub.docker.com
  • Docker官方提供公共镜像的仓库(Registry)
    docker search busybox #搜索镜像

下载、上传镜像

  • 下载镜像(从镜像仓库中下载镜像)
docker help pull
docker pull docker.io/busybox
  • 上传镜像(上传镜像到仓库)
docker help push
docker push docker.io/busybox

导入、导出镜像

  • 导出镜像(将本地镜像导出为tar文件)
docker save docker.io/busybox:latest -o busybox.tar
ls
busybox.tar  
  • 导入镜像(通过tar包文件导入镜像)
docker load -i nginx.tar
docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/nginx     latest              42b4762643dc        4 weeks ago         109.2 M             e1ddd7948a1c        4 wee
  • 启动镜像
    启动centos镜像生成一个容器
docker run -it docker.io/centos /bin/bash

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name=“nginx-lb”: 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=“ritchie”: 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
--volume , -v: 绑定一个卷

  • 退出镜像
exit 
ctrl+r后ctrl+q  //退出时不关闭容器

Docker基本命令

命令说明
docker images查看镜像列表
docker ps查看后台运行的容器
docker ps -a显示所有的容器,包括没有启动的
docker pa -q只显示容器ID
docker history docker.io/centos查看镜像制作历史
docker inspect docker.io/nginx查看镜像底层信息
docker rm id删除容器(需停止)
docker rmi docker.io/nginx删除镜像(需停止)
docker tag docker.io/centos:latest docker.io/cen:v1修改镜像名称和标签

容器常见命令

命令说明
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]运行容器
docker ps查看容器列表
docker stop id关闭容器
docker start id启动容器
docker restart重启容器
docker attach [options] id进入容器,exit会导致容器关闭
docker exex -it id bash用bash进入容器,exit不会关闭容器
docker inspect id或者镜像名查看容器底层信息
docker top id查看容器进程列表
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值