怎样用Docker创建我们自己的镜像
来源:互联网 发布:心理学入门书籍 知乎 编辑:程序博客网 时间:2024/06/05 02:33
官方文档
Docker创建镜像
总共有两种方法:
1.用别人的镜像创建。
1.1、先下载一个容器
命令: Docker pull training/sinatra
1.2、然后用容器启动这个镜像
命令:docker run -t -i training/sinatra /bin/bash
1.3、接下来就是给使用中的容器,添加自己需要的工具等,来组装自己的运行环境。
1.4、将上一步组装好的环境copy一份镜像。
命令:
docker commit -m “Added json gem” -a “KateSmith” \
0b2616b0e5a8 ouruser/sinatra:v2
说明:此处命令和Git的命令svn的命令有些类似。 docker commit 是提交的意思,类似告诉svn服务器我要生成一个新的版本。
-m 就是添加注释,-a是作者。
“\” 后面跟的是 1.2的容器环境id 要生成的镜像的名称
容器的id:就是你每次输入命令行@后面的字符
例如:root@0b2616b0e5a8
镜像名称:hub的名称/镜像名称:tag
1.5、docker images命令查看自己创建的镜像。
1.6、使用新建立的镜像
命令:docker run -t -i 要生成的镜像的名称 /bin/bash
2.使用Dockerfile
两种创建方法相比,就类似以前的Java项目开发,在没有使用maven以前,所以的东西都是现在好了放到项目中,如果有新的开发人员进来,需要把项目的jar文件都拷贝给他。但是使用maven以后就是不需要了。Dockerfile就类似这样的道理
2.1、创建镜像所在的文件夹和Dockerfile文件
命令:
1、mkdir sinatra
2、cd sinatra
3、touch Dockerfile
2.2、在Dockerfile文件中写入指令,没一条指令都会更新镜像的信息例如:
# This is a comment
FROM ubuntu:14.04
MAINTAINER Kate Smith ksmith@example.com
RUN apt-get update && apt-get install -y ruby ruby-dev
RUN gem install sinatra
格式说明:
每行命令都是以 INSTRUCTION statement 形式,就是命令+ 清单的模式。命令要大写,“#”是注解。
FROM 命令是告诉docker 我们的镜像什么。
MAINTAINER 是描述 镜像的创建人。
RUN 命令是在镜像内部执行。就是说他后面的命令应该是针对镜像可以运行的命令。
2.3、创建镜像
命令:docker build -t ouruser/sinatra:v2 .
docker build 是docker创建镜像的命令
-t 是标识新建的镜像属于 ouruser的
sinatra是仓库的名称
:v2 是tag
“.”是用来指明 我们的使用的Dockerfile文件当前目录的
2.4、创建完成后,从镜像创建容器
docker run -t -i ouruser/sinatra:v2 /bin/bash
到此两种创建镜像的方式就完毕了。
问题: 以上两种方式都是以Docker的镜像仓库为基础,那我用自己的系统作为镜像怎么办那?
有使用工具的,有使用镜像模板的等等,可以百度
别人已经解决了这个问题
- 怎样用Docker创建我们自己的镜像
- 怎样用Docker创建我们自己的镜像
- Docker创建自己需求的镜像
- 【二十一】Docker-创建自己的Docker镜像
- 使用Dockerfile创建自己的docker镜像
- docker镜像的创建
- 制作自己的Docker镜像
- docker 创建镜像
- 创建 Docker 镜像
- Docker创建镜像
- Docker创建镜像
- 自己学Docker:9.基于Dockerfile创建镜像
- Docker实战(二):制作自己的Docker镜像
- Docker实战(二):制作自己的Docker镜像
- Arukas Docker 制作自己的镜像---Docker hub
- Docker实战(二):制作自己的Docker镜像
- Docker的安装和镜像创建
- Docker的安装和镜像创建
- 字符串string
- 连接oracle数据库提示:用户名/口令无效的解决方案
- 名企笔试:2016京东笔试(抛小球)2017-05-14 算法爱好者
- 机器学习知识点(三十一)LDA数学八卦
- 用Kotlin写一个基于Spring Boot的RESTful服务
- 怎样用Docker创建我们自己的镜像
- STM32CubeMX(stm32F030C8T6) 之RTC闹钟唤醒停机模式-STM32开发实战 (2)
- kaideng
- getopt()和getopt_long()函数解析[转载]
- unity如何导出某个scene所依赖的资源
- FastDFS一个开源的分布式文件系统
- 学习笔记---strncpy_s最安全 和二维数据搭配
- 实现登陆验证码功能,验证码插件(后期自己写一个自己验证码)
- TS协议解析第二部分(PMT)