首页 > 其他分享 >docker入门(一)安装及镜像命令

docker入门(一)安装及镜像命令

时间:2024-09-29 11:49:38浏览次数:11  
标签:ago 入门 https 镜像 docker Docker latest

  • Docker简介

docker官网:  www.docker.com 
dockerhub官网: hub.docker.com  现在已经进不去,所以等会配置国内的镜像源

docker文档官网:docs.docker.com

Docker是基于Go语言实现的云开源项目。

  1. docker是解决什么问题的

想必大家在网上刷到过这样的段子吧

运维/测试:开发,你写的程序不能跑起来呀!!!

开发:你看,它在这能跑呀,不是我的问题

那为什么会出现这种问题呢?

这是由于环境不一致导致的。比如开发用的是ubuntu,而运维用centos,从而环境不一致,导致了程序可能不能正常运行

于是有人在想能不能从根本上解决问题。软件带环境安装,也就是说安装的时候把原始环境一模一样地复制过来。

于是就诞生了docker,我们就可以把跑通的程序的源码+配置+环境+版本等统一打包成一个镜像问题。也就是说以前开发提交的只是一份源代码,但是现在变成了源码+配置+环境+依赖包等等。就好比搬家,没有docker之前我只能将里面的东西带走,但是有了docker后我就可以把整栋楼搬走。

其实就类似于vmware虚拟机那样,既然虚拟机能把整个系统都打包,那docker就是把程序依赖打包。

  1. 确认安装环境符合要求

Docker并非是一个通用的容器工具,它依赖存在并运行中的Linux内核环境。此外,对Linux也有一定要求,要求64位、Linux系统内核版本为3.1以上。注意:是强依赖Linux环境,即便在windows上部署Docker其本质也都是先安装一个虚拟机,然后在虚拟出来的Linux上再安装并运行Docker。

  1. docker 的基本组成

Docker 客户端负责与 Docker 服务端通信,执行 Docker 命令,申请容器、镜像等;

Docker 服务端则管理和控制所有的 Docker 容器和镜像。

Docker 镜像(Image):

Docker 镜像是用来创建 Docker 容器的模板。

它包含应用程序代码、库、运行环境和配置文件,类似于虚拟机的镜像。

Docker 镜像可以通过 Dockerfile 或从 Docker 中央仓库中拉取构建。

Docker 容器(Container):

Docker 容器是 Docker 镜像的实例化运行时,它是一个分离的环境,包含了应用程序和其依赖项,能够独立运行于 Docker 主机上。

Docker Registry:

Docker Registry 是一个中央存储库,用于存储 Docker 镜像。

Docker Hub 是 Docker 官方提供的 Registry,也可以通过私有 Registry 将 Docker 镜像推送和拉取到远程服务器上。

Docker Compose:

Docker Compose 是一个用于定义和运行多个 Docker 容器的工具,它使用 YAML 文件来定义整个应用程序的服务、网络和卷等,使得可以轻松地部署和扩展多个 Docker 容器。

  • 安装docker

1.安装镜像源

首先要安装一个yum工具,因为默认 yum-config-manager 默认没安装,其在yum-utils中所以这里先安装yum-utils。

安装成功后

yum install -y yum-utils

,执行命令,配置Docker的yum源:

这里我们配置阿里的镜像源

​
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

​

更新缓存

yum makecache fast

2.安装docker engine

如何知道 docker-ce ,docker-ce-cli 这个名字的

(1)首先是安装 .repo

(2)安装后根据自己知道的关键词即"docker"去搜,执行 "yum search docker" 。

        输出如下,去掉后面的.x86_64就是软件全名了(即"docker-ce"、"docker-ce-cli")。

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.启动docker

systemctl start docker

查看状态是否运行/版本

systemctl status docker

docker version
  1. 配置镜像加速

这里配置阿里的镜像加速,因为我使用阿里的镜像源

安装docker软件后,可以通过docker pull命令拉取镜像。如果没有配置镜像加速源,直接拉取会比较慢。

vi  /etc/docker/daemon.json #初次进来可能没有此文件,创建即可。

这些是目前还好用的,且用且珍惜,可能那天就用不了了。

今天9月29号亲测可用

{

"registry-mirrors": [

   "https://docker.registry.cyou",

   "https://docker-cf.registry.cyou",

   "https://dockercf.jsdelivr.fyi",

   "https://docker.jsdelivr.fyi",

   "https://dockertest.jsdelivr.fyi",

   "https://mirror.aliyuncs.com",

   "https://dockerproxy.com",

   "https://mirror.baidubce.com",

   "https://docker.m.daocloud.io",

   "https://docker.nju.edu.cn",

   "https://docker.mirrors.sjtug.sjtu.edu.cn",

   "https://docker.mirrors.ustc.edu.cn",

   "https://mirror.iscas.ac.cn",

   "https://docker.rainbond.cc",

   "https://o8x6xdh9.mirror.aliyuncs.com" # 这个是阿里云的镜像加速

 ]

}

重新启动docker


systemctl daemon-reload

systemctl restart docker
  • 镜像命令

1.查看所有拉取的镜像

刚安装是没有的

  1. #各项含义如下
  2. repository:镜像仓库源
  3. tag: 镜像的版本(默认就是最新版本)。
  4. image id:镜像id
  5. created:镜像创建时间
  6. size:镜像大小

[root@localhost ~]# docker images

REPOSITORY                                                                      TAG       IMAGE ID       CREATED         SIZE

crpi-77tggdqcd7cpajh6.cn-chengdu.personal.cr.aliyuncs.com/luocailian/myubuntu   1.0       b1e9cef3f297   4 weeks ago     78.1MB

ubuntu                                                                          latest    b1e9cef3f297   4 weeks ago     78.1MB

nginx                                                                           latest    39286ab8a5e1   6 weeks ago     188MB

mysql                                                                           5.7       5107333e08a8   9 months ago    501MB

registry                                                                        latest    75ef5b734af4   12 months ago   25.4MB

hello-world                                                                     latest    d2c94e258dcb   17 months ago   13.3kB

mongo                                                                           4.0       fb1435e8841c   2 years ago     430MB

redis                                                                           6.0.8     16ecd2772934   3 years ago     104MB

2.拉取镜像

下载镜像。没有TAG就是最新版本即latest。

[root@localhost ~]# docker pull hello-world

Using default tag: latest

latest: Pulling from library/hello-world

c1ec31eb5944: Pull complete

Digest: sha256:91fb4b041da273d5a3273b6d587d62d518300a6ad268b28628f74997b93171b2

Status: Downloaded newer image for hello-world:latest

docker.io/library/hello-world:latest

3.查看镜像/容器/数据卷所占的空间

[root@localhost ~]# docker system df

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE

Images          7         1         1.327GB   1.302GB (98%)

Containers      3         0         0B        0B

Local Volumes   5         0         237.5MB   237.5MB (100%)

Build Cache     0         0         0B        0B

4.删除某个镜像

"rmi"即remove image。

5.镜像归档

docker save 命令用于将Docker镜像保存成tar包(镜像归档);docker load为其反操作。

这里举例将hello-world镜像归档
#使用docker pull命令拉取hello-world镜像

docker pull hello-world

#指定docker images查看镜像

[root@localhost ~]# docker images

REPOSITORY                                                                      TAG       IMAGE ID       CREATED         SIZE

crpi-77tggdqcd7cpajh6.cn-chengdu.personal.cr.aliyuncs.com/luocailian/myubuntu   1.0       b1e9cef3f297   4 weeks ago     78.1MB

ubuntu                                                                          latest    b1e9cef3f297   4 weeks ago     78.1MB

nginx                                                                           latest    39286ab8a5e1   6 weeks ago     188MB

mysql                                                                           5.7       5107333e08a8   9 months ago    501MB

registry                                                                        latest    75ef5b734af4   12 months ago   25.4MB

hello-world                                                                     latest    d2c94e258dcb   17 months ago   13.3kB


#使用docker save将hello-world镜像归档成文件并写入本地

root@localhost ~]# docker save -o myhello_world.tar 75ef5b734af4

-o 指定文件名  75ef5b734af4 镜像id

[root@localhost ~]# ls

anaconda-ks.cfg  my_hello  myhello_world.tar

标签:ago,入门,https,镜像,docker,Docker,latest
From: https://blog.csdn.net/LCL_18/article/details/142632245

相关文章

  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-08PS 私有看门狗定时器实验
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3中断资......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-18 PL AXI-GPIO实验
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3AXI-GPI......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-26PL 自定义 AXI-Lite-频率计
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3等精度......
  • [米联客-XILINX-H3_CZ08_7100] FPGA_SDK入门篇连载-23PL 自定义 AXI-Lite 协议 IP
    软件版本:VIVADO2021.1操作系统:WIN1064bit硬件平台:适用XILINXA7/K7/Z7/ZU/KU系列FPGA实验平台:米联客-MLK-H3-CZ08-7100开发板板卡获取平台:https://milianke.tmall.com/登录“米联客”FPGA社区http://www.uisrc.com视频课程、答疑解惑!目录1概述2系统框图3AXI总线......
  • .Net 6 WebApi 项目部署到 Linux 系统上的 Docker 容器
    .Net6WebApi项目部署到Linux系统上的Docker容器 1.创建一个基础的WebApi项目  注意:因为发布时候,Dockerfile文件必须和解决方案.cspro文件放在同级,所以建议勾上这个,当时遇到这个问题,导致打包镜像时找不到.cspro文件,搞了好久  点击创建,项目基础框架是这样......
  • 网络安全专业的就业前景如何?零基础入门网络安全(非常详细)看一篇就够了!
    前言在数字化时代,网络安全专业是一个热度很高的领域,备受争议与关注,也吸引了很多0基础小伙伴前来学习。但在学习网络安全之前,不少小伙伴会担心就业问题,那么网络安全专业的就业前景如何?一起来看看详细的内容介绍。综合情况来讲,网络安全专业就业前景非常不错,主要表现在:就业......
  • 安全运营工程师是做什么的?零基础入门安全运营(非常详细)看一篇就够了!
    前言什么是安全运营工程师安全运营工程师是网络安全大方向下网络安全运行与维护岗的一个细分岗位。1、安全运营工程师需要具备哪些综合能力?对安全行业发展趋势及生态有良好的认知;具备优秀的逻辑分析能力、表达能力、文字撰写的能力;拥有良好的跨团队协调和推进项目的......
  • 网络安全工程师自学计划!零基础入门网络安全(非常详细)看一篇就够了!
    网络安全工程师需要学什么?零基础怎么从入门到精通,看这一篇就够了我发现关于网络安全的学习路线网上有非常多看似高大上却无任何参考意义的回答。大多数的路线都是给了一个大概的框架,告诉你那些东西要考,以及建议了一个学习顺序。但是这对于小白来说是远远不够的,有的可能还会......
  • SpringBoot+Docker +Nginx 部署前后端项目
    部署SpringBoot项目(通关版)一、概述使用java-jar命令直接部署项目的JAR包和使用Docker制作镜像进行部署是两种常见的部署方式。以下是对这两种方式的概述和简要的优劣势分析:1.1、使用java-jar命令直接部署项目的JAR包概述:通过java-jar直接部署项目的JAR包是最简单直......
  • 使用国内源安装docker
    [20240929测试有效]机器:腾讯云Ubuntu24.04  1.添加腾讯源可以安装docker的GPG密钥curl-fsSLhttps://mirrors.tencent.com/docker-ce/linux/ubuntu/gpg|sudogpg--dearmor-o/etc/apt/trusted.gpg.d/docker.gpg 2.设置Docker的APT源列表文件sudovi/etc/......