无限套娃_docker入门(镜像、容器、仓库)

简介: 无限套娃_docker入门(镜像、容器、仓库)

Docker

基于go语言、遵从Apache协议、操作系统虚拟化、复用本地主机的操作系统(区别于过往的硬件层面实现)

image镜像

梦中梦

镜像可容纳操作系统(系统里面包括Apache和程序),操作系统又可以安装Docker,无限循环套娃…想起盗梦空间的梦中梦

可以通过查看Docker安装的镜像辨别我是在第几层(id、tag)

查看镜像层数

查看image命令

docker image ls

载入镜像层

ok进入镜像

sudo docker run -t -i ubuntu:12.04 /bin/bash

其中image的id很重要,我理解为唯一标识符

我进入的id是ac565b40b68c

跳出镜像

如何处理呢,难道像盗梦中跳楼才能出来吗?

没错,只要我跳的够快,就能跳出镜像…

命令exit,快捷键ctrl+d

exit

添加评论到相应的镜像id

添加评论成功返回id

sudo docker commit -m "我好像做了个梦" ac565b40b68c ouruser/sinatra:v2  

再次进入镜像内的容器(程序)

docker run -t -i

sudo docker run -t -i ouruser/sinatra:v2 /bin/bash

container容器

依赖于镜像环境,是镜像创建运行的实例

容器间相互分离(启动、开始、停止、删除)

类似进程(创建、就绪、运行、阻塞、死亡)

进入容器

查看运行的容器

docker ps

attach命令

进入正在运行的docker的names

docker run -idt ubuntu:12.04

导入导出容器

export导出

先查看运行的容器实例

然后导出对应的容器(使用id)

sudo docker export e379e4c23b8c > yma16.tar

import导入

docker import - repository:tag
cat yma16.tar | docker import - test/ubuntu:v1.0

docker rm删除容器

启动容器

docker run

sudo docker run ubuntu:12.04

docker start可以启动已经终止的容器

守护态运行容器

守护态(Daemonized)

sudo docker run -d 

终止容器

docker stop

通过端口终止

sudo docker stop e470f1cd84fa

reposito仓库

主要存放镜像,服务器管理仓库的具体服务器,一个服务器有多个仓库,一个厂库有多个镜像

Hub

官方的Hub

有多个镜像

无需登录就可以查询镜像并下载

docker search

docker search centos

docker pull

下载镜像

sudo docker pull centos

docker push

注册登录账号后上传镜像

私有仓库

docker-registry工具创建私有的镜像厂库

安装运行docker-regitry

ubuntu:

$ sudo apt-get install -y build-essential python-dev libevent-dev python-pip liblzma-dev
$ sudo pip install docker-registry

Centos:

$ sudo yum install -y python-devel libevent-devel python-pip gcc xz-devel
$ sudo python-pip install docker-registry

clone仓库文件进行安装

$ sudo apt-get install build-essential python-dev libevent-dev python-pip libssl-dev liblzma-dev libffi-dev
$ git clone https://github.com/docker/docker-registry.git
$ cd docker-registry
$ sudo python setup.py install

修改配置文件到本地仓库路径
cp config/config_sample.yml config/config.yml

启动 Web 服务
sudo gunicorn -c contrib/gunicorn.py docker_registry.wsgi:application
docker tag 来标记一个镜像

sudo docker tag id 自定义tag

sudo docker tag 380443e9701e 192.168.100.91:5000/yma16_file

修改成功

docker push 上传标记的镜像
sudo docker push 192.168.100.91:22/yma16_file

curl 查看仓库中的镜像
curl http://192.168.100.91:5000/v1/search

我的web服务没有打开

配置文件

利用Docker 中 Registry 的模板(flavor)

config_sample.yml文件

  • common:基础配置
  • local:存储数据到本地文件系统
  • s3:存储数据到 AWS S3 中
  • dev:使用 local 模板的基本配置
  • test:单元测试使用
  • prod:生产环境配置(基本上跟s3配置类似)
  • gcs:存储数据到 Google 的云存储
  • swift:存储数据到 OpenStack Swift 服务
  • glance:存储数据到 OpenStack Glance 服务,本地文件系统为后备
  • glance-swift:存储数据到 OpenStack Glance 服务,Swift 为后备
  • elliptics:存储数据到 Elliptics key/value 存储

1024, 致敬这世界的程序员,respect!


目录
相关文章
|
24天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
183 77
|
5天前
|
搜索推荐 安全 数据安全/隐私保护
7 个最能提高生产力的 Docker 容器
7 个最能提高生产力的 Docker 容器
75 35
|
5天前
|
Ubuntu Linux 开发工具
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
Docker 是一个开源的容器化平台,允许开发者将应用程序及其依赖项打包成标准化单元(容器),确保在任何支持 Docker 的操作系统上一致运行。容器共享主机内核,提供轻量级、高效的执行环境。本文介绍如何在 Ubuntu 上安装 Docker,并通过简单步骤验证安装成功。后续文章将探讨使用 Docker 部署开源项目。优雅草央千澈 源、安装 Docker 包、验证安装 - 适用场景:开发、测试、生产环境 通过以上步骤,您可以在 Ubuntu 系统上成功安装并运行 Docker,为后续的应用部署打下基础。
docker 是什么?docker初认识之如何部署docker-优雅草后续将会把产品发布部署至docker容器中-因此会出相关系列文章-优雅草央千澈
|
11天前
|
存储 Kubernetes 开发者
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
Docker 是一种开源的应用容器引擎,允许开发者将应用程序及其依赖打包成可移植的镜像,并在任何支持 Docker 的平台上运行。其核心概念包括镜像、容器和仓库。镜像是只读的文件系统,容器是镜像的运行实例,仓库用于存储和分发镜像。Kubernetes(k8s)则是容器集群管理系统,提供自动化部署、扩展和维护等功能,支持服务发现、负载均衡、自动伸缩等特性。两者结合使用,可以实现高效的容器化应用管理和运维。Docker 主要用于单主机上的容器管理,而 Kubernetes 则专注于跨多主机的容器编排与调度。尽管 k8s 逐渐减少了对 Docker 作为容器运行时的支持,但 Doc
72 5
容器化时代的领航者:Docker 和 Kubernetes 云原生时代的黄金搭档
|
16天前
|
Ubuntu 应用服务中间件 nginx
docker入门-快速学会docker
本文介绍了Docker的基本概念,包括镜像、容器、tar文件、Dockerfile和仓库,并通过实际操作演示了如何使用Docker。从拉取Nginx镜像、运行容器、修改容器内容、保存容器为新镜像,到使用Dockerfile构建自定义镜像,最后讲解了如何保存和恢复镜像。文中还推荐了一个在线实践平台Play with Docker,方便读者快速上手Docker。
72 5
docker入门-快速学会docker
|
16天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
43 3
实战~如何组织一个多容器项目docker-compose
|
11天前
|
Unix Linux Docker
CentOS停更沉寂,RHEL巨变限制源代:Docker容器化技术的兴起助力操作系统新格局
操作系统是计算机系统的核心软件,管理和控制硬件与软件资源,为用户和应用程序提供高效、安全的运行环境。Linux作为开源、跨平台的操作系统,具有高度可定制性、稳定性和安全性,广泛应用于服务器、云计算、物联网等领域。其发展得益于庞大的社区支持,多种发行版如Ubuntu、Debian、Fedora等满足不同需求。
39 4
|
5月前
|
存储 安全 Ubuntu
Docker 镜像与 Docker 容器的区别
【8月更文挑战第27天】
402 5
|
5月前
|
存储 Ubuntu 应用服务中间件
在Docker中,怎么快速查看本地的镜像和容器?
在Docker中,怎么快速查看本地的镜像和容器?
|
6月前
|
Shell Linux Docker
docker常用命令大全(基础、镜像、容器、数据卷)
这些命令仅仅是 Docker 命令行工具的冰山一角,但对于日常操作来说已经非常全面。通过熟练地使用这些基础命令,用户可以有效地管理 Docker 的镜像、容器、数据卷和网络。随着用户对 Docker 的深入使用,更高级的命令和选项将会变得必需,但上面列出的命令已经为用户提供了一个坚实的起点。对于初学者来说,理解和掌握这些常用命令是深入学习 Docker 的基础。
537 5
docker常用命令大全(基础、镜像、容器、数据卷)