番外篇 - Docker的使用

一、Docker的介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低

二、Docker的安装

1. Windows系统的安装

win7、win8 等需要利用 docker toolbox 来安装,国内可以使用阿里云的镜像来下载,

下载地址:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

安装好后会有3个软件:

  • Docker QuickStart

    • shell. 这是一个已经配置好Docker的命令行环境
  • Kitematic

    • 这是Docker的GUI版本
  • Oracle VM Virtualbox

    • 虚拟机

win10 系统

现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V

下载地址:https://www.docker.com/get-docker

安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标

2. CentOS系统的安装

Docker支持以下的CentOS版本:

  • CentOS 7 (64-bit)
  • CentOS 6.5 (64-bit) 或更高的版本

1)前提条件

目前,CentOS 仅发行版本中的内核支持 Docker。

Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。

Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。

如果系统内核不符合,可以通过以下命令升级

复制代码
uname -r #查看版本号
​
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org #导入公钥数字证书
​
rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm #安装ELRepo
​
yum --enablerepo=elrepo-kernel install kernel-lt -y #安装kernel长期版本 lt表示long-term的意思,长期维护版本,也可以将kernel-lt改为kernel-ml,安装主线版本
​
#编辑grub.conf文件,修改Grub引导顺序,确认刚安装好的内核在哪个位置,然后设置default值(从0开始),一般新安装的内核在第一个位置,所以设置default=0
​
vim /etc/grub.conf
​
# 以下是/etc/grub.conf的内容
default=0        # 修改该值即可
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.103-1.el6.elrepo.x86_64)
​
# 重启并查看内核版本,将会发现内核已经更新

3. 软件的安装

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

复制代码
安装命令: yum install -y docker

三、软件的启动

  1. windows

可以直接图标直接启动

  1. liunx

启动命令:sudo systemctl start docker

四、docker的常用命令

  • 查询镜像

    • docker search 镜像名
  • 下载镜像

    • docker pull 镜像名:
  • 查看当前有什么镜像

    • docker images
  • 创建容器

    • docker run -tid image_id(前4位就可)
  • 进入容器

    • docker attach container_id(前4位就可)
  • 查看所有容器运行状态

    • docker ps -s
  • 查看所有容器

    • docker ps -a
  • 容器的名称

    • docker run -tid --name 容器名 image_id(前4位就可)
  • 封装新容器

    • docker commit container_id 镜像名:镜像版本号
  • 容器之间的通信

    • docker run -tid --name 容器名 --link 被链接的容器 image_id

    • 查看如何通信

      • 进入容器 查看/etc/hosts
  • 容器的删除

    • docker rm -f container_id(前4位就可)
相关推荐
BduL OWED18 小时前
Docker:基于自制openjdk8镜像 or 官方openjdk8镜像,制作tomcat镜像
docker·容器·tomcat
.柒宇.18 小时前
AI掘金头条项目 Docker Compose 部署完整教程(附踩坑记录)
运维·后端·python·docker·容器·fastapi
运维全栈笔记1 天前
K8S部署Redis高可用全攻略:1主2从3哨兵架构实战
redis·docker·云原生·容器·架构·kubernetes·bootstrap
SCBAiotAigc1 天前
2026.5.1:`DockerDesktop must be owned by an elevated account`错误的解决办法
人工智能·docker·具身智能
AI木马人1 天前
9.人工智能实战:GPU 服务如何上 Kubernetes?从单机部署到 K8s + NVIDIA Device Plugin + HPA 的生产级改造
人工智能·容器·kubernetes
捉鸭子1 天前
某音a_bogus vmp逆向
爬虫·python·web安全·node.js·js
身如柳絮随风扬2 天前
使用 Docker 部署禅道并实现自动化部署——从项目搭建到运维自动化的完整指南
运维·docker·自动化
eRTE XFUN2 天前
docker下搭建redis集群
redis·docker·容器
一只小bit2 天前
Docker 存储卷:本地文件与容器内部文件建立绑定关系
运维·docker·容器
都在酒里2 天前
在公共服务器上构建 RK3588 SDK 的纯净 Docker 方案
运维·服务器·docker