实验01 Docker容器的安装与操作

一、实验目的:

1、了解什么是虚拟化、什么是Docker?

2、理解Docker的相关概念(镜像、容器、仓库)。

3、掌握Linux环境下Doker容器的安装与启动。

4、掌握Docker的相关操作命令。

实验环境

1、虚拟机Vmare WorkStation;

2、Ubuntu操作系统;

实验准备

1、掌握Vmare WorkStation的基本使用;

2、安装完成Ubuntu操作系统

3、掌握Ubuntu操作系统的基本使用指令。

实验内容

  1. 更新APT包索引并安装依赖包:

更新APT包索引的命令是:

复制代码
   sudo apt-get update

安装Docker所需的依赖包,可以使用以下命令:

复制代码
   sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  1. 添加Docker的官方GPG密钥并验证:

添加Docker的官方GPG密钥的命令是:

复制代码
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

验证是否拥有带有指纹的密钥,可以使用以下命令来列出所有的APT密钥,并查找Docker的密钥:

复制代码
   sudo apt-key list

然后,你可以在列出的密钥中查找Docker的密钥指纹。

  1. 设置稳定版仓库:

添加Docker的稳定版仓库到你的系统的命令是:

复制代码
   sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

这里的 `$(lsb_release -cs)` 会根据你的Ubuntu版本自动替换为相应的代号,如`bionic`、`xenial`、`focal`等。

完成这些步骤后,可以继续安装Docker的其他步骤,例如更新APT包索引和安装Docker软件包。

(二)安装Docker

1.请写出安装Docker命令。

复制代码
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

2.安装完成后验证Docker是否成功安装(查看Docker版本)。

复制代码
sudo docker --version

sudo docker run hello-world

(三)启动并配置Docker

1.启动Docker,请写出其命令。

复制代码
sudo systemctl start docker

2.重启Docker服务,请写出其命令。

复制代码
sudo systemctl restart docker

(四)(附加题)在Docker容器中安装JKD。

1.在Dokcer中搜索JDK镜像。

复制代码
docker search jdk

2.选择一个JKD镜像,并拉取其镜像到本地仓库。

复制代码
docker pull openjdk:8-jdk

3.查看JKD镜像是否已下载到本地仓库。

复制代码
docker images

4.在Docker容器中运行JDK镜像。

复制代码
docker run -it --name my-jdk-container openjdk:8-jdk

5.进入容器查看JDK版本。

复制代码
docker exec -it my-jdk-container java -version

此外,如果你需要在容器内部安装JDK,而不是使用预构建的JDK镜像,你可以基于一个基础镜像(如ubuntudebian),然后在Dockerfile中添加安装JDK的步骤。例如:

复制代码
FROM ubuntu:latest

# 安装JDK
RUN apt-get update && \
    apt-get install -y openjdk-11-jdk && \
    rm -rf /var/lib/apt/lists/*

# 设置环境变量
ENV JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64

实验总结

(一)什么是Docker容器,Docker容器有什么作用?

Docker容器是一种轻量级、可移植的、自给自足的软件运行环境,它允许开发者打包他们的应用以及应用的运行环境和依赖项到一个可移植的容器中。Docker容器通过Docker Engine实现,它是一个客户端-服务器架构的程序,客户端向服务器发送请求,服务器执行这些请求。

Docker容器的作用包括:

  • 环境一致性:容器提供了一致的运行环境,无论在开发、测试还是生产环境中,应用的行为都保持一致。
  • 开发与部署效率:容器可以快速启动和停止,这使得开发和部署过程更加迅速和高效。
  • 版本控制和组件重用:Docker容器可以与版本控制系统结合使用,方便管理和追踪不同版本的应用。
  • 微服务架构:容器非常适合微服务架构,每个服务可以独立运行在容器中,便于管理和扩展。
  • 资源利用率:容器共享宿主机的内核,不需要像虚拟机那样模拟整个操作系统,因此资源利用率更高。
  • 隔离性:容器提供了一定程度的隔离性,每个容器运行在自己的文件系统中,拥有自己的网络配置。

(二)Docker容器与虚拟机的关系是什么?

Docker容器和虚拟机都是提供隔离环境的技术,但它们在实现方式和用途上有所不同:

  • 虚拟化级别:虚拟机提供了一个完整的操作系统虚拟化,包括完整的操作系统和运行在其上的应用程序。而Docker容器共享宿主机的内核,仅虚拟化了应用程序和其依赖的库。
  • 资源占用:由于虚拟机需要模拟整个操作系统,因此资源占用更多,启动时间更长。Docker容器则因为共享宿主机内核,资源占用更少,启动时间更短。
  • 性能:虚拟机由于需要通过虚拟化层来运行,可能会有一定的性能开销。Docker容器因为直接运行在宿主机上,性能更接近原生。
  • 便携性:Docker容器因为不包含操作系统,通常更轻量,更容易在不同环境中迁移和部署。
  • 管理工具:虚拟机通常使用虚拟化管理工具(如VMware或VirtualBox)来管理,而Docker容器使用Docker Engine和Docker CLI来管理。
  • 用例:虚拟机适用于完整的操作系统和复杂应用的部署,而Docker容器适用于轻量级、松耦合的微服务和应用组件。
相关推荐
努力进修9 小时前
跨地域传文件太麻烦?Nginx+cpolar 让本地服务直接公网访问
运维·nginx·cpolar
Qayrup9 小时前
docker 搭建私有仓库,推送并拉取
运维·docker·容器
闪耀星星9 小时前
debian elctron-builder
运维·debian
会飞的土拨鼠呀9 小时前
Debian 12 笔记本合盖不休眠设置指南
运维·debian
郭庆汝9 小时前
docker拉取英伟达官方cuda11.8镜像
docker·cuda11.8
天下不喵10 小时前
Ubuntu24.04安装Docker过程记录
docker
黑黍11 小时前
如何在k8s中配置并使用nvidia显卡
云原生·容器·kubernetes
梁正雄11 小时前
6、prometheus资源规划
运维·服务器·服务发现·prometheus·监控
晨曦之旅11 小时前
零成本体验云计算!阿贝云免费服务器深度测评
运维·服务器·云计算
工具人555512 小时前
Linux 抓取 RAM Dump 完整指南
linux·运维·安全