Docker简介、安装、使用、问题排查

目录

简介

名词解释

安装

更新yum包

安装依赖

配置docker源

安装docker-ce

查勘docker版本

卸载

镜像

国内镜像

国外镜像

本地镜像

容器

容器命令

进入容器

小结


简介

一句话总结便于理解:

docker:操作系统上的“虚拟机”,节省硬件资源。

镜像:虚拟机镜像(image,便于理解你可想象成类似原来的win2003server虚拟机镜像)。

持久化:类似虚拟机内保存数据文件会丢。需映射保存到物理磁盘。

  官网介绍:https://docs.docker.com/engine/install/centos/
  Docker中文文档:http://www.dockerinfo.net/document
  Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

  传统虚拟机理解:(服务器上,每个镜像一套操作系统,太浪费资源了)

    docker"虚拟机"理解:(服务器上,每个镜像“简化”操作系统,不占资源)

名词解释

docker整个生命周期有三部分组成:
镜像image)+   容器container)+   仓库repository
容器是由镜像实例化而来  (把镜像启动后就是容器了)

他们关系如下图:

镜像:类似虚拟机的镜像,是一个只读的模板。一个独立的文件系统,包括运行容器所需的数据,可以用来创建新的容器。
容器:容器是由镜像创建的运行实例。


安装

官方安装文档:https://docs.docker.com/install/linux/docker-ce/centos
linux环境下默认安装目录:/var/lib/docker
如果有旧版本,卸载:

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

更新yum包

使用一个有sudo权限的帐号(root)登录centos8。更新现有的yum包。
 

sudo yum update

按y 更新

安装依赖

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

配置docker源

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

安装docker-ce

yum install  docker-ce

错误:
 问题: package docker-ce-3:19.03.13-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
此时需要安装新版containerd.io
 

dnf install 
https://download.docker.com/linux/centos/8/x86_64/stable/Packages/containerd.io-1.3.7-3.1.el8.x86_64.rpm

报错

原因:防火墙阻挡443访问,关闭防火墙即可或开通端口即可。

systemctl stop firewalld.service

查看docker版本

docker -v

卸载

sudo yum remove dcoker-ce \
           docker-ce-cli \
           containerd.io

删除 Docker 相关文件,会删除 Docker 的镜像,容器等。

sudo rm -rf /var/lib/docker

镜像

国内镜像

配置国内镜像:新建文件: /etc/docker/daemon.json
 

{
    "registry-mirrors": [
    "https://registry.docker-cn.com",
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com",
    "https://cr.console.aliyun.com/"
	]
}
#重启docker
systemctl daemon-reload
systemctl restart docker

国外镜像

查询国外hub镜像:

docker search 镜像名     #例如:docker search mongo

本地镜像

#查询本地镜像
docker image ls

#删除镜像
docker rmi 镜像id

容器

容器命令(常用

#查询容器
docker ps          #查询已启动镜像
docker ps -a       #查询全部镜像(没启动的)

#启动容器
#-- name:设定容器名称为nextcloud
#-p 88:80 :端口映射,将宿主机口映射到容器中的80端口
#-v /owncloud:/var/www/html/data 将容器中项目的data目录映射到本地/owncloud目录下方便配置
#-d nextcloud,刚刚所拉取的镜像名称
docker run --name nextcloud -p 88:80   -v /owncloud:/var/www/html/data -d nextcloud

#查看日志
docker logs 容器名或id

#重启容器
docker restart mysql5.7   #docker restart 容器ID或容器名 :不管容器是否启动,直接重启容器

#停止容器
docker stop 容器name或id         #停止单个容器
docker stop $(docker ps -aq)     #停止所有容器

#删除容器
docker rm -f 容器name或id      #删除单个容器
docker rm -f $(docker ps -aq)  #删除所有容器

进入容器

#进入容器
docker exec -it 容器id /bin/bash

#进入容器,安装vim
apt-get update       #从软件源(也称为软件仓库)获取最新的软件包信息
apt-get install vim  #安装vim

小结

      安装后用的最多的就是“容器”相关命令了,能看容器内日志找问题,修改后重启,就够用了。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

coding叶青

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值