Docker入门

内容来自于B站课程,笔者进行了总结。B站课程指路:【狂神说Java】Docker最新超详细版教程通俗易懂_哔哩哔哩_bilibili
 

目录

1.Docker出现原因

2.Docker历史

3.Docker概述

4.Docker相关网址

5.Docker与传统虚拟化技术的区别

6.Docker基本组成

7.Docker的安装

7.1 查看系统内核

7.2 查看系统配置

7.3 卸载旧的版本

7.4 下载需要的安装包

7.5 设置镜像的仓库

7.6 更新yum软件包索引

7.7 安装docker相关的配置

7.8 启动Docker

7.9 下载hello-world镜像进行测试

7.10 卸载Docker

7.11 配置阿里云镜像加速

8.Docker运行流程

9.Docker底层原理


1.Docker出现原因

为了解决不同环境产品无法运行,部署环境麻烦的问题,使用Docker进行一站式解决。

使用Docker后,发布项目时,项目可以带上环境安装打包(jar+(Redis  mysql  jdk ES)),用户直接在Docker仓库下载发布的镜像,运行即可使用。

2.Docker历史

2010年,几个搞IT的年轻人,成立了一家公司,名为dotCloud。他们做一些paas的云计算服务,LXC有关的容器技术,并将自己的技术命名为Docker。

3.Docker概述

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

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

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

Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)。

4.Docker相关网址

官网:Empowering App Development for Developers | Docker

文档地址:Docker Documentation | Docker Documentation(docker的官方文档非常详细)

仓库地址:Docker Hub

5.Docker与传统虚拟化技术的区别

  • 传统虚拟机虚拟出一套硬件,运行一个完整的操作系统,然后在这个系统上安装和运行软件
  • 容器内的应用直接运行在宿主机内核,容器没有自己的内核,也没有虚拟硬件,因此比较轻便
  • 每个容器间互相隔离,每个容器内都有一个属于自己的文件系统,互不影响
  • Docker是内核级别的虚拟化,在一个物理机上可以运行很多的容器实例!服务器性能可以被利用到极致

6.Docker基本组成

镜像:docker镜像就好比是一个模板,可以通过这个模板来创建容器服务

tomcat镜像===> run ==> tomcat01

容器(提供服务器)通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。

容器:Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的。

           有启动,停止,删除,基本命令。

仓库:仓库就是存放镜像的地方。分为公有仓库和私有仓库。Docker Hub(默认是国外的)

7.Docker的安装

7.1 查看系统内核

uname -r

7.2 查看系统配置

cat /etc/os-release

7.3 卸载旧的版本

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

7.4 下载需要的安装包

yum install -y yum-utils

7.5 设置镜像的仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo  #国外的地址
    
    # 设置阿里云的Docker镜像仓库
yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo  #国外的地址

7.6 更新yum软件包索引

yum makecache fast

7.7 安装docker相关的配置

 yum install docker-ce docker-ce-cli containerd.io

显示completed为即安装成功。

ce表示社区版

7.8 启动Docker

systemctl start docker

# 查看当前版本号,是否启动成功

docker version

# 设置开机自启动

systemctl enable docker

7.9 下载hello-world镜像进行测试

docker run hello-world

 如果本机没有这个镜像,会从仓库进行拉取

7.10 卸载Docker

# 1. 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
# 2. 删除资源  . /var/lib/docker是docker的默认工作路径
rm -rf /var/lib/docker

7.11 配置阿里云镜像加速

因为本作者没有购买阿里云,因此这一步未进行操作,但还是对过程进行一下记录

进入阿里云官网,进行搜索,容器镜像服务,根据要求,执行四条命令即可

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

8.Docker运行流程

9.Docker底层原理

是一个Client-Server结构的系统,守护进程运行在主机上,通过Socker从客户端访问,Docker Server接收到Docker-Client的指令,就会执行这个指令。

### Docker入门教程 #### 什么是DockerDocker是一种用于开发、交付和运行应用程序的开源平台,它通过容器化技术简化了软件部署的过程。简单来说,Docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔一样,几乎任何程序都可以被放置在Docker中并进行隔离运行[^1]。 #### 安装与验证 为了确保Docker环境已经正确安装,在终端执行`docker run hello-world`命令。如果能够正常运行并返回`hello, world`消息,则表明Docker已成功配置[^2]。 #### 常用命令概述 以下是几个常用的Docker命令及其功能: - **帮助启动类** - `systemctl start docker`: 启动Docker服务。 - `systemctl stop docker`: 停止Docker服务。 - `systemctl restart docker`: 重启Docker服务。 - `systemctl status docker`: 查看Docker服务的状态。 - `systemctl enable docker`: 设置开机自启Docker服务。 - **查看信息类** - `docker info`: 显示Docker系统的整体信息。 - `docker --help`: 展示Docker的整体帮助文档。 - `docker 具体命令 --help`: 获取特定Docker子命令的帮助文档。 - **镜像管理类** - `docker images [-a|-q]`: 列出本地存储的所有镜像;加上参数-a可列出所有历史版本,加-q仅显示镜像ID。 - `docker search [某镜像名[--limit N]]`: 搜索公共仓库中的指定镜像,并可通过--limit控制结果数量。 - `docker pull [镜像名[:TAG]]`: 下载远程镜像至本地,默认不带标签则拉取最新版。 - `docker system df`: 统计镜像、容器以及数据卷占用空间情况。 - `docker rmi -f [镜像ID|镜像名[:TAG]|$(docker images -qa)]`: 删除一个或多个镜像,支持批量删除全部镜像。 - **容器操作类** - 创建并进入交互模式容器: ```bash docker run -it ubuntu bash ``` 这条指令基于Ubuntu基础镜像创建一个新的容器实例,并开启了一个交互式的Bash Shell供用户直接操控该容器内部环境[^3]。 --- #### 实践案例——构建第一个容器 假设我们希望尝试使用官方提供的Redis数据库作为例子来熟悉整个流程: 1. 使用`docker search redis`查找可用的Redis镜像; 2. 执行`docker pull redis:latest`获取最新的稳定版本; 3. 接着利用下面这条语句建立关联端口映射后的实际运行态容器: ```bash docker run -d -p 6379:6379 --name myredis redis:latest ``` 以上步骤展示了如何从零开始搭建属于自己的小型缓存服务器! --- 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值