docker的基础学习(二)之daocker的安装配置和基本使用

Centos7上安装Docker

确定你是Centos7及以上版本

cat /etc/redhat-release
卸载旧版本
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

yum安装gcc相关

yum -y install gcc
yum -y install gcc-c++ 

安装需要的软件包

yum install -y yum -utils

使用阿里云服务器要再加上一步才可以设置镜像

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

设置stable镜像仓库

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

设置阿里云镜像

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

更新yum软件包索引

yum makecache fast 

安装DOCKER CE 

sudo yum install docker-ce docker-ce-cli containerd.io 
启动如果没有报错说明没有问题
systemctl start docker 
查看后台服务
 ps -ef |grep docker

 测试

docker version

 

docker run hello-world 

卸载

 systemctl stop docker
 yum remove docker-ce docker-ce-cli containerd.io
 rm -rf /var/lib/docker
 rm -rf /var/lib/containerd

镜像加速器配置

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://l3su1l19.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload

sudo systemctl restart docker

为什么Docker会比vm虚拟机快  

传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
2.容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核且也没有进行硬件虚拟。因此容器要比传统虚拟机更为轻便。
3.每个容器之间互相隔离,每个容器有自己的文件系统 ,容器之间进程不会相互影响,能区分计算资源。

1.docker 有着比虚拟机更少的抽象层
由于docker不需要Hypervisor(虚拟机)实现硬件资源虚拟化,运行在docker容器上的程序直接试用的都是实际物理机的硬件资源。因此在CPU、内存利用率上docker将会在效率上有明显的优势。。

2.docker利用的是宿主机的内核,而不需要加载操作系统的OS内核
当新建一个容器时,docker不需要和虚拟机一样重新加载一个操作系统内核。进而避免引寻、加载操作系统内核返回等比较费时费资源的过程,当新建一个虚拟机时,虚拟机软件需要加载OS,返回新建的过程时分钟级别的,而docker由于直接利用宿主机的操作系统,则省略了返回过程,因此新建一个docker容器只需要几秒钟。

帮助启动类命令

启动docker: systemctl start docker
停止docker: systemctl stop docker
重启docker: systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令 --help 

原本的docker源:

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

换成了阿里的:

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

但是问题也就出现在这里了,
但我使用sudo systemctl enable docker命令的时候
给我报了这个

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

最后知道了,因为我在使用源的时候,执行了这个

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

但是如果我们换成了阿里的之后,这个并没有先操作!
因此如果我们换了了阿里云之后,还是必须执行这个命令

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

然后就能解决这个报出来了问题了.

镜像命令

docker images

  • 列出本地主机上的镜像: docker images
  • 各个选项说明:

  • REPOSITORY:表示镜像的仓库源  TAG:镜像的标签版本号 IMAGE ID:镜像ID CREATED:创建时间 SIZE:镜像大小
  • 如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像 同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。

  • OPTIONS说明:

  • -a :列出本地所有的镜像(含历史映像层)
  • -q :只显示镜像ID

  • docker search [OPTIONS] 镜像名
  • OPTIONS说明:

  • --limit : 只列出N个镜像,默认25个

docker search 某个xxx镜像的名字

实例

从 Docker Hub 查找所有镜像名包含 java,并且收藏数大于 10 的镜像

OPTIONS说明:

  • --automated :只列出 automated build类型的镜像;

  • --no-trunc :显示完整的镜像描述;

  • -f <过滤条件>:列出收藏数不小于指定值的镜像。

参数说明:

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

docker pull   某个xxx镜像的名字 从镜像仓库中拉取或者更新指定镜像

OPTIONS说明:

  • -a :拉取所有 tagged 镜像 

  • --disable-content-trust :忽略镜像的校验,默认开启

docker pull 镜像名字[:TAG]

docker pull 镜像名字 

1.没有TAG就算最新版

2.等价于

3.docker pull 镜像名字:latest

4.docker pull ubuntu

docker system df 查看镜像/容器/数据卷所占用的空间

如果你想检查 Docker 使用了多少空间,你可以使用内置命令 docker system df,以及 Linux 命令du 来获取整个目录的大小。

docker system df
sudo du -sh /var/lib/docker/

在这里插入图片描述
此命令显示静态映像、对其文件系统(例如日志文件)进行了更改的容器以及绑定到容器的卷。

然而,这并不完全准确——在这里,我运行了许多容器,但它们都将数据存储在主机操作系统上的绑定安装中,而不是卷中。

docker rmi 查看xxx镜像名字的id

 docker rmi : 删除本地一个或多个镜像。

OPTIONS说明:

  • -f :强制删除; 

  • --no-prune :不移除该镜像的过程镜像,默认移除;

删除单个镜像

docker rmi -f 镜像ID

删除多个镜像

docker rmi -f 镜像命1.TAG镜像名2:TAG

删除全部

docker rmi -f ${docker images -qa} 

 有镜像才可以创建容器这是根本前提

docker pull centos
docker pull nbuntu

OPTIONS说明(常用):有些是一个减号,有些是两个减号

--name="容器新名字" 为容器指定一个名称

-d:后台运行容器并返回容器ID:也既守护式容器(后台运行)  

-i:以交互模式运行容器,通常与+t同时使用:

-t:为容器重新分配一个输入终端,通常与+i同时使用:

也即可启动交互式容器(前台有伪终端,等待交互)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值