《‘狂’人日记》---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

目录
相关文章
|
5天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
23 2
|
7天前
|
Cloud Native 持续交付 Docker
Docker容器化技术:从入门到实践
Docker容器化技术:从入门到实践
|
13天前
|
运维 持续交付 虚拟化
docker入门详解!!!
本文介绍了容器技术的发展历程,从物理机到虚拟化再到容器化,重点讲解了Docker的诞生及其优势。Docker通过轻量级的容器技术,实现了资源的高效利用、快速启动、环境一致性、持续交付和部署等优点。文章还详细解析了Docker的架构和工作原理,包括Docker Daemon、REST接口、Docker Client等组件,以及容器与虚拟机的差异。
49 2
|
20天前
|
Kubernetes Cloud Native 开发者
云原生技术入门:Kubernetes和Docker的协作之旅
【10月更文挑战第22天】在数字化转型的浪潮中,云原生技术成为推动企业创新的重要力量。本文旨在通过浅显易懂的语言,引领读者步入云原生的世界,着重介绍Kubernetes和Docker如何携手打造弹性、可扩展的云环境。我们将从基础概念入手,逐步深入到它们在实际场景中的应用,以及如何简化部署和管理过程。文章不仅为初学者提供入门指南,还为有一定基础的开发者提供实践参考,共同探索云原生技术的无限可能。
31 3
|
25天前
|
Ubuntu Shell 开发者
Docker入门:轻松开始容器化之旅
【10月更文挑战第17天】Docker 是一种开源的应用容器引擎,它让开发者能够“一次构建、到处运行”。Docker 通过容器化技术将应用程序及其依赖打包在一起,从而确保应用在任何环境中都能一致地运行。本文将为新手用户提供一个全面的Docker入门指南,包括基本概念、优势、安装配置以及如何创建和管理容器。
45 2
|
1月前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
1月前
|
Kubernetes Cloud Native Docker
云原生入门:Kubernetes和Docker的协同之旅
【10月更文挑战第4天】在这篇文章中,我们将通过一次虚拟的旅行来探索云原生技术的核心——Kubernetes和Docker。就像乘坐一艘由Docker驱动的小船启航,随着波浪(代码示例)起伏,最终抵达由Kubernetes指挥的宏伟舰队。这不仅是一段技术上的旅程,也是理解现代云架构如何支撑数字世界的冒险。让我们扬帆起航,一探究竟!
|
Kubernetes Cloud Native 算法
【Docker】企业进阶实战【Docker-Compose/Stack/Secret/Swarm/Config】
【Docker】企业进阶实战【Docker-Compose/Stack/Secret/Swarm/Config】
197 0
【Docker】企业进阶实战【Docker-Compose/Stack/Secret/Swarm/Config】
|
SQL NoSQL Cloud Native
【云原生】1.5 Docker 进阶实战
创建一个redis (mkdir redis),然后打开 redis(cd redis),准备好配置文件(vi redis.conf),输入 :wq 退出并保存。 redis使用自定义配置文件启动(记得要添加安全组)
117 0
【云原生】1.5 Docker 进阶实战
|
安全 测试技术 API
《Docker进阶与实战》——导读
本节书摘来自华章社区《Docker进阶与实战》一书中的目录,作者华为Docker实践小组,更多章节内容可以访问云栖社区“华章社区”公众号查看
1979 0