docker 自诞生以来就是业内讨论得很火的一个话题,讨论程度仅此于openstack,后期应该会持续更新一些关于docker的内容:

docker是什么:简单来说docker 是软件工业的集装箱技术,可以实现相互隔离快速打包部署功能。

docker的安装和基本命令:

环境:

centos 7

docker安装:

1
[root@xiaoluo src] # yum install docker-io -y

##docker三个基本概念我之见:

1、镜像:可以理解成一个简单的系统,在上面可以部署和运行东西,用镜像可以启动一个容器。

2、容器:一个容器代表一个独立的任务,各容器之前相互隔离运行。

3、厂库:存放镜像的地方。

查看镜像:

1
2
3
4
[root@xiaoluo src] # docker images
REPOSITORY          TAG                 IMAGE  ID             CREATED             VIRTUAL SIZE
centos              latest               60e65a8e4030         8  weeks ago          196.6  MB
ubuntu               14.04                d55e68e6cc9c         11  weeks ago         187.9  MB

*TAG:镜像的标识,当使用push不加别的版本,默认使用的是latest.

IMAGE ID:镜像的唯一标识

查看可以下载镜像:

1
[root@xiaoluo src] # docker search centos

下载镜像可以docker pull xxx 从库里下载:

交互模式下启动docker:

1
2
[root@xiaoluo src] # docker exec -it centos /bin/bash
[root@ 73aaba6e0cd1  / ] #

启动docker:

1
2
3
4
5
[root@localhost ~] # docker run -d -p 2222:22 --name base csphere/centos:7.193e712c9d91467c0748961685e5453a7cd50898212191a762a36c6e933dbd539
* - d 后台启动
- p 本机端口 2222 映射到docker内部的 22 口(当然前提镜像是提前构建好,后期会讲到)
- - name 给容器起一个别名 base
  镜像名称csphere / centos: 7.1

查看正在启动的容器:

1
2
3
[root@localhost ~] # docker ps
CONTAINER  ID         IMAGE                COMMAND                  CREATED              STATUS              PORTS                  NAMES
93e712c9d914         csphere / centos: 7.1    "/usr/bin/supervisord"    About a minute ago   Up About a minute    0.0 . 0.0 : 2222 - > 22 / tcp   base

*查看所有的容器使用docker ps -a

删除容器:docker rm 93e712c9d914  (删除正在运行的容器docker rm f)

docker私有厂库:

当我们使用docker pull的时候默认是从官方的镜像去下载的,在我们环境中要是搭建一个本地的厂库存放我们的镜像就在合适不过了:

步骤:

1、下载一个registry容器,官方的images有时候被墙,我这里用的是灵雀云的镜像:

1
[root@localhost ~] # docker pull index.alauda.cn/library/registry

2、重命名一个镜像:测试用

1
[root@localhost ~] # docker tag 7e4f044162b7 192.168.63.198:5000/test

*把镜像ID为7e4f044162b7定义别名192.168.63.198:5000/test

1
2
3
4
5
6
7
8
[root@localhost native] # docker images
REPOSITORY                         TAG                 IMAGE  ID             CREATED             VIRTUAL SIZE
192.168 . 63.198 : 5000 / test           latest               7e4f044162b7         8  days ago           724.9  MB
csphere / mysql                       5.5                  7e4f044162b7         8  days ago           724.9  MB
csphere / php - fpm                     5.4                  f149fdc3bb11         8  days ago           684.8  MB
csphere / centos                      7.1                  e3570ed66dc9         8  days ago           591.3  MB
index.alauda.cn / library / registry   latest               07d93e41c370         4  weeks ago          422.8  MB
docker.io / centos                   centos7. 1.1503       fab4b1df8eb1         4  months ago         212.1  MB

3、本地启动本地镜像厂库:

1
[root@localhost ~] #docker run -d -p 5000:5000 -v /opt/data/registry/:/tmp/registry-dev 07d93e41c370

4、修改配置文件/etc/sysconf/docker:

1
2
打开 / etc / sysconfig / docker,找到OPTIONS这一行,取消注释并修改如下:
OPTIONS = '--selinux-enabled --insecure-registry=yourip:5000'

**不然会报如下类似错:

1
2
3
4
unable to ping registry endpoint 
https: / / yourip: 5000 / v0 /
v2 ping attempt failed with error: Get https: / / yourip: 5000 / v2 / :EOF
v1 ping attempt failed with error: Get https: / / yourop: 5000 / v1 / _ping:EOF

5、提交镜像到本地库:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
[root@localhost native] # docker push 192.168.63.198:5000/test
The push refers to a repository [ 192.168 . 63.198 : 5000 / test] ( len 1 )
Sending image  list
Pushing repository  192.168 . 63.198 : 5000 / test ( 1  tags)
f1b10cd84249: Image successfully pushed 
172633e38420 : Image successfully pushed 
fab4b1df8eb1: Image successfully pushed 
7911a8421c83 : Image successfully pushed 
af42609f6313: Image successfully pushed 
fa48118fc839: Image successfully pushed 
b7ca1c16fd68: Image successfully pushed 
fca316033a3c: Image successfully pushed 
09f10030ab42 : Image successfully pushed 
dc888ecebd54: Image successfully pushed 
519dde82a4cc : Image successfully pushed 
832a31216b14 : Image successfully pushed 
e3570ed66dc9: Image successfully pushed 
e65974137a30: Image successfully pushed 
2752603711a9 : Image successfully pushed 
f027aaa7d0db: Image successfully pushed 
6b59cfa21ac8 : Image successfully pushed 
94d6cbee9151 : Image successfully pushed 
5caacec189e1 : Image successfully pushed 
255629e3621b : Image successfully pushed 
3ba1834f6adf : Image successfully pushed 
7e4f044162b7 : Image successfully pushed 
Pushing tag  for  rev [ 7e4f044162b7 ] on {
http: / / 192.168 . 63.198 : 5000 / v1 / repositories / test / tags / latest}

6、上传成功检查:

1
2
[root@localhost registry] # curl -X GET http://192.168.63.198:5000/v1/search
{ "num_results" 1 "query" : " ", " results ": [{" description ": " ", " name ": " library / test"}]}

到此本地厂库创建完成。

本文转自 小罗ge11 51CTO博客,原文链接:http://blog.51cto.com/xiaoluoge/1745360,如需转载请自行联系原作者

docker 入门操作与本地厂库相关推荐

  1. 本地厂库上传到码云报错fatal: remote origin already exists.

    本地厂库上传到码云时候报错 . 试了好多次,没成功 有原因是密码错了,但是我也没改过密码,以前搞的都是直接再仓库克隆的. 解决方法: 先把仓库清理了 $ git remote rm origin 再链 ...

  2. 最新版本POI-5.2.0操作Excel本地导入库配置过程记录

    本文是一篇基于Java+Eclipse+POI操作Excel配置POI操作记录,希望能够帮助到用得上的朋友.Exce简单易学,作为一种轻量的数据管理工具,还是很受普通用户喜爱.专业的程序员怎样把数据库 ...

  3. 如何新建git本地厂库

    第一步: 新建一个空的文件夹  新建一个空的文件夹  新建一个空的文件夹 第二步:初始化git git init 第三步:与origin master建立连接 git remote add origi ...

  4. linux下修改Maven本地厂库地址

    1.正确安装Maven 2.修改 [liumeng@localhost conf]$ vim /etc/maven/maven/conf/settings.xml # 修改该文件 # 将下面的< ...

  5. 把本地厂库提交到远程厂库

    1.git init 2.git add 文件名 3.git commit -m '注释' 4.cd existing_git_repo 5.git remote add origin 6.git p ...

  6. Mac Docker入门安装使用

    最新mac系统千万不要用brew安装,推荐使用官方文档:https://docs.docker.com/docker-for-mac/#proxies 安装镜像: docker pull centos ...

  7. 使用git向远程厂库提交代码时rejcted错误

    在使用git向远程厂库提交代码时: 有的小朋友会出现 Push rejected: Push to origin/master was rejected 出现这样的问题应该是本地厂库和远程厂库没有管理 ...

  8. Maven,将本地jar包安装到Maven厂库

    前提条件,本机Maven环境搭建成功.Maven环境如何搭建,可参考文章:  Maven本地环境搭建 CMD窗口中输入命令:mvn -version ,验证本机Maven环境是否搭建成功,如下图一所示 ...

  9. 远程厂库新建的分支,本地检测不到

    问题:远程厂库有 master,test,dev三个分支,本地只能检测到master,test 两个分支! 解决方法: *使用idea # 列出所有远程主机 git remote# 更新远程主机ori ...

最新文章

  1. JVM结构、内存分配、垃圾回收算法、垃圾收集器。
  2. pytorch默认初始化_“最全PyTorch分布式教程”来了!
  3. 【UDP协议头解析】
  4. oracle 9i 手工建库,简单记录Oracle 9i数据库手工建库过程
  5. Hadoop运行任务时一直卡在: INFO mapreduce.Job: Running job
  6. 修改SR4000自带软件,支持opencv
  7. mysql主从 副本集,MongoDB的主从、副本集模式
  8. 【软考 系统架构设计师】软件架构设计⑦ 构件与中间件技术
  9. Python 层次分析法 AHP
  10. Memcached缓存
  11. 自动驾驶数据闭环系列之一:理想丰满,现实骨感
  12. OpenCV的各种矩阵基本运算、基本操作及示例代码(加、减、乘、点乘、点除、乘方、开方、累加、转置、比较等)
  13. (转)RMAN-06004: 恢复目录数据库发生 ORACLE 错误: RMAN-20005: target database name is ambiguous
  14. 1.传感器学习笔记之初次相识
  15. CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval
  16. CSMA/CA工作流程图
  17. mcrpg服务器文件,[角色|娱乐]RPGitem-Reloaded 老牌RPG插件[1.13-1.7.2]
  18. kali2021更新源(最全的更新源)
  19. 专业显卡测试软件 spec,SPECviewperf 12.1专业性能测试
  20. 个人实战经验分享-虚拟产品的几种零基础起步赚钱玩法

热门文章

  1. Search Bar On Browser_4
  2. 相亲婚恋交友网站建设制作,第五篇
  3. 【PID控制原理及其算法】
  4. 设计模式的意图和适用性
  5. Nohttp中的get和post使用
  6. 【Android-Java】随机数产生,使用SecureRandom替代Random
  7. 2018研究生数学建模成绩分析
  8. 地球主题网页设计题材——大学生网页制作期末作业HTML+CSS+JS
  9. html语言换行符,html换行符
  10. 程序猿遇到问题去哪里问?——小编教你一招