Docker容器实战【一】安装Docker

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
容器服务 Serverless 版 ACK Serverless,317元额度 多规格
容器服务 Serverless 版 ACK Serverless,952元额度 多规格
简介: 容器,就是一种轻量级的虚拟化技术,目的和虚拟机一样,都是为了创造“隔离环境”。一句话理解Docker:以前各程序都睡大厅,有了Docker后都睡小房子里面

image.png

Docker容器实战【一】安装Docker
Docker容器实战【二】使用Docker初次部署Tomcat
Docker容器实战【三】搭建Docker镜像私服Harbor
Docker容器实战【四】阿里云容器服务
Docker容器实战【五】Dockerfile实战

Docker

Docker容器具有以下三大特点:

  1. 轻量化:一台主机上运行的多个Docker容器可以共享主机操作系统内核;启动迅速,只需占用很少的计算和内存资源。
  2. 标准开放:Docker容器基于开放式标准,能够在所有主流Linux版本、Microsoft Windows以及包括VM、裸机服务器和云在内的任何基础设施上运行。
  3. 安全可靠:Docker赋予应用的隔离性不仅限于彼此隔离,还独立于底层的基础设施。Docker默认提供最强的隔离,因此应用出现问题,也只是单个容器的问题,而不会波及到整台主机。

Docker和虚拟机的区别

  • VM:使用Hypervisor提供虚拟机的运行平台,管理每个VM中操作系统的运行。每个VM都要有自己的操作系统、应用程序和必要的依赖文件等。
  • Docker容器:使用Docker引擎进行调度和隔离,提高了资源利用率,在相同硬件能力下可以运行更多的容器实例;每个容器拥有自己的隔离化用户空间。

Docker名词

容器、镜像、镜像层、容器编排、横向扩展

前置技能

  1. 掌握基础Linux命令,网络基础
  2. 虚拟机搭建或云服务器使用(链接)

Linux环境安装

玩转Linux系统【一】CentOS系统安装

Docker卸载

如果之前安装过Docker需要卸载可以参照如下命令

# 列出当前docker相关的安装包
$ yum list installed|grep docker
containerd.io.x86_64                 1.3.7-3.1.el7                  @docker-ce-stable
docker-ce.x86_64                     3:19.03.13-3.el7               @docker-ce-stable
docker-ce-cli.x86_64                 1:19.03.13-3.el7               @docker-ce-stable

image.png

如果yum被占用,提示Another app is currently holding the yum lock; waiting for it to exit...

则可以使用kill -9 pid 这个占用进程,如下

[root@first64 ~]# yum list installed|grep docker
Existing lock /var/run/yum.pid: another copy is running as pid 21308.
Another app is currently holding the yum lock; waiting for it to exit...
The other application is: PackageKit
Memory : 31 M RSS (455 MB VSZ)
Started: Tue May 3 14:44:32 2022 - 06:29 ago
State : Sleeping, pid: 21308

Exiting on user cancel.

$ kill -9 21308

如果出现BDB2053 Freeing read locks for locker 0x1136: 9370/140057345120064提示

$ yum clean all 即可

# 卸载对应的包
$ yum -y remove containerd.io.x86_64 docker-ce.x86_64 docker-ce-cli.x86_64 

# 删除docker目录
$ rm -rf /var/lib/docker
$ rm -rf /var/lib/containerd

安装

注意:且Docker 要求操作系统必须为64位,且centos内核版本为3.1及以上

  • 查看系统内核

    $ uname -r
    3.10.0-1062.el7.x86_6
    # 我这里高于3.1
    
    # 系统我使用的是CentOS 7
    $ cat /etc/os-release
    NAME="CentOS Linux"
    VERSION="7 (Core)"
    ID="centos"
    ID_LIKE="rhel fedora"
  • 保证yum包是最新

    # 使用root执行,更新到最新
    $ yum update
  • 列出可安装的docker包

    # 列出可以按照的docker包
    $ yum list docker-ce --showduplicates | sort -r
  • 安装(较慢,不推荐)

    • 因为官方下载较慢,这里,我们走阿里云的仓库下载安装

      $ yum install -y yum-utils
      
      $ yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
    • 指定版本安装

      # 这里要指定版本
      $ yum -y install docker-ce-18.09.6-3.el7
    • 直接安装最新版

      $ yum install docker-ce -y
  • 查看当前版本

    $ docker version
    
    Client: Docker Engine - Community
     Version:           20.10.14
     API version:       1.41
     Go version:        go1.16.15
     Git commit:        a224086
     Built:             Thu Mar 24 01:49:57 2022
     OS/Arch:           linux/amd64
     Context:           default
     Experimental:      true
    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    # 此处需要重启Docker
  • 不能连接到Docker daemon异常

    装完后使用docker命令后会提示异常
    Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
    需要重启下docker
  • 重启

    $ service docker restart
  • 配置开机启动

    $ systemctl enable docker

镜像仓库

Docker中央仓库戳我

由于中央仓库网络较慢,我们通常使用国内镜像,所以需要给当前Docker进行配置

国内镜像

# 网易 推荐,目前体验下来是最快的
http://hub-mirror.c.163.com
# daocloud
https://hub.daocloud.io
# 清华大学
https://mirrors.tuna.tsinghua.edu.cn/
# Docker中国区官方镜像
https://registry.docker-cn.com
# ustc
https://docker.mirrors.ustc.edu.cn 
# 搜狐
http://mirrors.sohu.com/

# 阿里云 阿里镜像需要登录阿里云控制台获取,每个账号有唯一镜像加速地址
https://cr.console.aliyun.com/

镜像配置

  1. 找到/etc/docker目录下的daemon.json文件进行编辑,输入如下内容

    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
  2. 如果没有该文件,可自行创建,也可以使用如下命令

    tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
    EOF
  3. 重载配置文件,重启docker

    $ systemctl daemon-reload
    $ systemctl restart docker
目录
相关文章
|
1天前
|
消息中间件 Docker 容器
消息中间件RabbitMQ---Docker安装RabbitMQ、以及RabbitMQ的基本使用【二】
这篇文章提供了RabbitMQ的安装和基本使用教程,包括如何使用Docker拉取RabbitMQ镜像、创建容器、通过浏览器访问管理界面,以及如何创建交换机、队列、绑定和使用direct、fanout和topic三种类型的交换器进行消息发布和接收的测试。
消息中间件RabbitMQ---Docker安装RabbitMQ、以及RabbitMQ的基本使用【二】
|
1天前
|
关系型数据库 MySQL Java
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
这篇文章介绍了在腾讯云服务器上使用Docker安装常见软件的过程,包括安装MySQL、Redis和Tomcat,并提供了解决连接问题的方法。同时,还涉及了服务器中安装JDK 1.8的步骤和如何将项目打包部署到服务器上的指导,包括注意事项和操作提示。
腾讯云服务器的使用、服务器中使用Docker安装常见的软件、如何将一个项目发布到服务器
|
1天前
|
应用服务中间件 Docker 容器
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
这篇文章介绍了在Docker中安装Tomcat的过程,包括搜索Tomcat镜像、拉取镜像、目录挂载的准备、创建并挂载容器,以及如何进入容器和进行测试。文中还说明了如何将WAR包部署到Tomcat服务器并访问部署的应用。
在服务器中使用Docker安装Tomcat、同时实现目录挂载、并且部署War包到服务器
|
1天前
|
Docker 容器
|
1天前
|
应用服务中间件 Linux nginx
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
这篇文章讨论了Linux虚拟机磁盘扩容的方法,包括外部配置、具体扩容步骤和扩容后的效果验证。同时,文章还涉及了Docker容器磁盘满的问题及其解决方法,如删除不必要的镜像和容器,以及调整Docker的安装路径。此外,还提到了意外情况的处理,例如误删除停止的容器后的应对措施。最后,文章还提供了使用Docker安装nginx的步骤和成功访问的截图。
Linux虚拟机磁盘扩容、Docker容器磁盘满的问题、Docker安装nginx
|
1天前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
1天前
|
关系型数据库 MySQL Linux
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
这篇文章提供了在Linux系统中使用Docker安装Mysql 5.7版本的详细过程和图解,包括安装指定版本、创建实例、启动、使用Navicat连接测试、文件挂载与端口映射、进入容器、配置文件修改以及重新启动容器等步骤。
一文教会你如何在Linux系统中使用Docker安装Mysql 5.7版本 【详细过程+图解】
|
1天前
|
网络协议 Linux 网络安全
遇到Docker容器网络隔断?揭秘六种超级实用解决方案,轻松让Docker容器畅游互联网!
【8月更文挑战第18天】Docker容器内网络不通是开发者常遇问题,可能因网络配置错、Docker服务异常或防火墙阻碍等原因引起。本文提供六种解决策略:确认Docker服务运行状态、重启Docker服务、检查与自定义Docker网络设置、验证宿主机网络连接、临时禁用宿主机IPv6及检查防火墙规则。通过这些步骤,多数网络问题可得以解决,确保容器正常联网。
9 1
|
18小时前
|
Linux Docker 容器
在CentOS上安装Docker的指南:
【8月更文挑战第19天】介绍在CentOS上安装Docker的过程:首先确认CentOS版本兼容,建议使用7或更高版本,并通过`yum update -y`更新系统。安装Docker时推荐使用官方仓库方法,需安装`yum-utils`等工具,设置Docker仓库简化安装流程。可选配置国内镜像源(如阿里云)提升下载速度。亦可通过RPM包离线安装。安装后启动Docker服务并通过`systemctl enable docker`设为开机启动。最后,运行`docker run hello-world`验证安装。如遇问题,使用`sudo journalctl -u docker`查看日志排错。
23 0
|
1天前
|
NoSQL 数据可视化 Linux
一文教会你如何在Linux系统中使用Docker安装Redis 、以及如何使用可视化工具连接【详细过程+图解】
这篇文章详细介绍了如何在Linux系统中使用Docker安装Redis,并提供了使用可视化工具连接Redis的步骤。内容包括安装Redis镜像、创建外部配置文件、映射文件和端口、启动和测试Redis实例、配置数据持久化存储,以及使用可视化工具连接和操作Redis数据库的过程。