《‘狂’人日记》---Docker从入门到进阶之基础操作(三)

简介: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。 本篇文章将向您展示常用的Docker技术,让您快速入门

前两章介绍了Docker的容器和镜像部分,那么这一章就开始介绍仓库

1.仓库

仓库(Repository)是集中存放镜像的地方。 一个容易混淆的概念是注册服务器(Registry)。实际上注册服务器是管理仓库的具体服务器,每个服务器上可以有多个仓 库,而每个仓库下面有多个镜像。从这方面来说,仓库可以被认为是一个具体的项目或目录。例如对于仓库地址 dl.dockerpool.com/ubuntu 来说, dl.dockerpool.com 是注册服务器地址, ubuntu 是仓库名。 大部分时候,并不需要严格区分这两者的概念。

1.1 DockerHub

1.1.1 什么是Docker Hub

目前 Docker 官方维护了一个公共仓库 Docker Hub,其中已经包括了超过 15,000 的镜像。大部分需求,都可以通过在 Docker Hub 中直接下载镜像来实现。 登录 可以通过执行 docker login 命令来输入用户名、密码和邮箱来完成注册和登录。 注册成功后,本地用户目录的 .dockercfg 中将保存用户的认证信息。 基本操作 用户无需登录即可通过 docker search 命令来查找官方仓库中的镜像,并利用 docker pull 命令来将它下载到本 地。 例如以 centos 为关键词进行搜索:

[root@base ~]# docker search centos
INDEX       NAME                                                   DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                                       The official build of CentOS.                   7292      [OK]
docker.io   docker.io/kasmweb/centos-7-desktop                     CentOS 7 desktop for Kasm Workspaces            24
docker.io   docker.io/couchbase/centos7-systemd                    centos7-systemd images with additional deb...   4                    [OK]
docker.io   docker.io/continuumio/centos5_gcc5_base                                                                3
docker.io   docker.io/dokken/centos-7                              CentOS 7 image for kitchen-dokken               3
docker.io   docker.io/dokken/centos-stream-8                                                                       2
docker.io   docker.io/dokken/centos-stream-9                                                                       2
docker.io   docker.io/spack/centos6                                CentOS 6 with Spack preinstalled                1
docker.io   docker.io/spack/centos7                                CentOS 7 with Spack preinstalled                1
docker.io   docker.io/bitnami/centos-base-buildpack                Centos base compilation image                   0                    [OK]
docker.io   docker.io/bitnami/centos-extras-base                                                                   0
docker.io   docker.io/corpusops/centos                             centos corpusops baseimage                      0
docker.io   docker.io/corpusops/centos-bare                        https://github.com/corpusops/docker-images/     0
docker.io   docker.io/couchbase/centos-69-sdk-build                                                                0
docker.io   docker.io/couchbase/centos-69-sdk-nodevtoolset-build                                                   0
docker.io   docker.io/couchbase/centos-70-sdk-build                                                                0
docker.io   docker.io/couchbase/centos-72-java-sdk                                                                 0
docker.io   docker.io/couchbase/centos-72-jenkins-core                                                             0
docker.io   docker.io/datadog/centos-i386                                                                          0
docker.io   docker.io/dokken/centos-5                              EOL DISTRO: For use with kitchen-dokken, B...   0
docker.io   docker.io/dokken/centos-6                              CentOS 6 image for kitchen-dokken               0
docker.io   docker.io/dokken/centos-8                              CentOS 8 image for kitchen-dokken               0
docker.io   docker.io/fnndsc/centos-python3                        Source for a slim Centos-based Python3 ima...   0                    [OK]
docker.io   docker.io/spack/centos-stream                                                                          0
docker.io   docker.io/ustclug/centos                               Official CentOS Image with USTC Mirror          0

image.png

1.1.2 pull---从dockerhub拉取镜像(ubuntu)

[root@base ~]# docker pull ubuntu
Using default tag: latest
Trying to pull repository docker.io/library/ubuntu ...
latest: Pulling from docker.io/library/ubuntu
d19f32bd9e41: Pull complete
Digest: sha256:34fea4f31bf187bc915536831fd0afc9d214755bf700b5cdb1336c82516d154e
Status: Downloaded newer image for docker.io/ubuntu:latest
[root@base ~]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ssh-server          latest              4e28f6e4fc6a        19 hours ago        390 MB
docker.io/ubuntu    latest              df5de72bdb3b        3 weeks ago         77.8 MB
docker.io/centos    7                   eeb6ee3f44bd        11 months ago       204 MB

image.png

1.2 设置镜像加速

点击此处设置阿里云镜像加速服务

image.png\
修改为阿里云镜像加速\

image.png

1.3 私有仓库

因为某些安全、隐私、网络、法规等等问题,使用公共仓库并不方便,用户可以使用docker提供的私有仓库镜像搭建自己的私有仓库

1.3.1 docker-registry

docker-registry 是官方提供的工具,可以用于构建私有的镜像仓库

搭建方法

# 运行本地仓库容器
docker run -dit --name registry --restart=always -p 5000:5000 registry

# 修改docker配置文件
vi /etc/sysconfig/docker
# 添加
# 172.31.36.113 为宿主机局域网IP地址,请自行更改为自己的IP地址
ADD_REGISTRY='--add-registry 192.168.200.201:5000'
INSECURE_REGISTRY='--insecure-registry 192.168.200.201:5000'

vi /etc/docker/daemon.json
# 添加
# 注意上一行后面需增加 , 
"insecure-registries":["192.168.200.201:5000"]

vi /usr/lib/systemd/system/docker.service
删除  $INSECURE_REGISTRY \ 这一行

# 重新加载
systemctl deamon-reload
systemctl restart docker

image.png

目录
相关文章
|
1月前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
101 2
|
10天前
|
Ubuntu 应用服务中间件 nginx
docker入门-快速学会docker
本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。
52 5
docker入门-快速学会docker
|
1月前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【10月更文挑战第43天】在云计算时代,云原生技术成为推动现代软件部署和运行的关键力量。本篇文章将带你了解云原生的基本概念,重点探讨Kubernetes和Docker如何协同工作以支持容器化应用的生命周期管理。通过实际代码示例,我们将展示如何在Kubernetes集群中部署和管理Docker容器,从而为初学者提供一条清晰的学习路径。
|
1月前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
1月前
|
运维 持续交付 虚拟化
docker入门详解!!!
本文介绍了容器技术的发展历程,从物理机到虚拟化再到容器化,重点讲解了Docker的诞生及其优势。Docker通过轻量级的容器技术,实现了资源的高效利用、快速启动、环境一致性、持续交付和部署等优点。文章还详细解析了Docker的架构和工作原理,包括Docker Daemon、REST接口、Docker Client等组件,以及容器与虚拟机的差异。
85 2
|
1月前
|
Kubernetes Linux Docker
容器化技术Docker入门与实践
容器化技术Docker入门与实践
56 0
|
1月前
|
Kubernetes Docker 容器
掌握Docker容器化技术:从入门到实战
掌握Docker容器化技术:从入门到实战
31 0
|
2月前
|
Oracle 关系型数据库 Linux
Docker入门和安装
这篇文章提供了Docker的入门指南和在CentOS系统上安装Docker的详细步骤。
47 0
Docker入门和安装
|
Docker 索引 容器
Docker从入门到精通——安装Docker
Docker从入门到精通——安装Docker
76 0
|
7月前
|
关系型数据库 MySQL 应用服务中间件
Docker 从入门,安装、配置、及部署
Docker 从入门,安装、配置、及部署
250 1

热门文章

最新文章