无限套娃_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!


目录
相关文章
|
6天前
|
Kubernetes Cloud Native Docker
云原生时代的容器化实践:Docker和Kubernetes入门
【10月更文挑战第37天】在数字化转型的浪潮中,云原生技术成为企业提升敏捷性和效率的关键。本篇文章将引导读者了解如何利用Docker进行容器化打包及部署,以及Kubernetes集群管理的基础操作,帮助初学者快速入门云原生的世界。通过实际案例分析,我们将深入探讨这些技术在现代IT架构中的应用与影响。
28 2
|
3天前
|
运维 Cloud Native 虚拟化
一文吃透云原生 Docker 容器,建议收藏!
本文深入解析云原生Docker容器技术,涵盖容器与Docker的概念、优势、架构设计及应用场景等,建议收藏。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
一文吃透云原生 Docker 容器,建议收藏!
|
4天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
6天前
|
监控 持续交付 Docker
Docker 容器化部署在微服务架构中的应用有哪些?
Docker 容器化部署在微服务架构中的应用有哪些?
|
6天前
|
监控 持续交付 Docker
Docker容器化部署在微服务架构中的应用
Docker容器化部署在微服务架构中的应用
|
6天前
|
安全 持续交付 Docker
微服务架构和 Docker 容器化部署的优点是什么?
微服务架构和 Docker 容器化部署的优点是什么?
|
JSON Shell Linux
docker学习(四)--仓库
docker中仓库使用
692 0
|
安全 网络安全 Docker
docker学习(8) 在mac机上搭建私有仓库
docker的私有仓库类似maven的私服,一般用于公司内部搭建一个类似docker hub的环境,这样上传、下载镜像速度较快,本文将演示如何在mac上利用docker-machine搭建无需SSL证书的私有仓库。
1611 0