怎么把ISO镜像转换成Docker镜像

已举报 回答 关注

怎么把ISO镜像转换成Docker镜像

  • 回答数

    8

  • 浏览数

    7,503

8个回答 默认排序
  • 默认排序
  • 按时间排序

已采纳
首先要有一个ISO格式的系统GHOST安装盘,这种类型的GHOST系统安装盘是非常多的,我想很多朋友电脑上也保存有ISO格式的安装盘哦!

然后我们这里需要使用一个软件,叫做UltraISO软碟通,大家可以下载安装到自己电脑上,现在打开这个安装的软件。

打开UltraISO以后,点击文件菜单中的打开,打开我们电脑刚才准备的ISO格式的GHOST系统安装盘映像文件。

这时候我们将这个ISO映像文件中的系统GHO文件删除,也就是在这里面所占空间最大的GHO文件上单击鼠标右键,然后删除GHO文件。

删除原来包含的GHO系统映像后,点击操作菜单中的添加文件。

然后找到要转换为ISO文件格式的GHO文件打开。将自己的GHO文件替换原来的GHO文件,我想大家应该知道小编的意思了,就是代替原来的GHO哦!

然后在替换的文件上,单击鼠标右键,将这个GHO文件的名字改为和原来GHO文件一样的名字,小编发现很多替换后ISO镜像无法使用,可能就是这样原因!

现在我们点击文件菜单中的保存或者另存为就可以了!

保存的过程中我们耐心等待一会,等保存结束后我们就将GHO格式的映像文件转换为了ISO格式的镜像文件,现在你用制作好的ISO文件刻录光盘就可使用!
取消 评论
您可能需要理解一下:什么是Linux内核和操作系统发行版。对于docker而言,linux内核是共享的,比如内核版本为3.13等;但是在docker镜像中,一般可以有一个完整的操作系统发行版,比如ubuntu 14.04
取消 评论
使用Docker 进行Java 开发步骤:
1、准备工作
现在最流行的是选择Spark,它是一个基于Java 8的极小的框架。Spark使用Maven作为构建工具。
2、源代码和配置文件
在这个例子中你要增加三个文件:
Maven的配置文件: pom.xml
一个Java类:Hello.java
一个Dockerfile
例子:

hello.java:
package sparkexample;
import static spark.Spark.get;
public class Hello {
public static void main(String[] args) {
get("/", (req, res) -> {
return "hello from sparkjava.com";
});
}
}
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>hellodocker</groupId>
<artifactId>hellodocker</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.0.0</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>2.4</version>
<configuration>
<finalName>sparkexample</finalName>
<archive>
<manifest>
<addClasspath>true</addClasspath>
<mainClass>sparkexample.Hello</mainClass>
<classpathPrefix>dependency-jars/</classpathPrefix>
</manifest>
</archive>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>attached</goal>
</goals>
<phase>package</phase>
<configuration>
<finalName>sparkexample</finalName>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<archive>
<manifest>
<mainClass>sparkexample.Hello</mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Dockerfile:
FROM java:8

# Install maven
RUN apt-get update
RUN apt-get install -y maven

WORKDIR /code

# Prepare by downloading dependencies
ADD pom.xml /code/pom.xml
RUN ["mvn", "dependency:resolve"]
RUN ["mvn", "verify"]

# Adding source, compile and package into a fat jar
ADD src /code/src
RUN ["mvn", "package"]

EXPOSE 4567
CMD ["/usr/lib/jvm/java-8-openjdk-amd64/bin/java", "-jar", "target/sparkexample-jar-with-dependencies.jar"]
取消 评论
访问 登陆阿里云账号—->在产品控制台—>Docker镜像仓库 –>镜像库—>Docker Hub 镜像站点 Copy “您的专属加速器地址”!
右键电脑右下角的Docker 图标–>Settings–>Daemon—> 将加速器地址复制到该页面上的文本框中,点击Apply 然后等待Docker重启,重启完毕就可以使用新的Docker镜像源
取消 评论
网络上提供win7安装程序主要有ghost版本和原始安装版。无论哪种版本,镜像文件需用winrar解压缩后才能使用。解压缩至硬盘非系统分区或u盘。再分情况进行安装。1、ghsot版:在解压文件夹里面有可从硬盘安装的程序及说明。用户按说明运行硬盘安装程序进行安装。2、原始安装版:下载nt6hddinstaller,将其与解压后的win7安装程序存放到一起。运行nt6hddinstaller,重启后系统进行安装。如果用u盘方式安装,首先要用下载的winpe制作可启动的u盘,用该盘启动计算机,进入winpe界面,再运用pe下的ghsot(用于ghostwin7版本安装)或windows安装器(用于以正版光盘为母版制作的原始安装版)、运行前述nt6hddinstaller进行安装。
取消 评论
你好,
docker push 推的是全镜像 到目前为止,Docker看起来还很像一个典型的Linux虚拟化栈。实际上,Docker镜像的第二层是root文件系统rootfs,它位于引导文件系统之上。rootfs可以是一种或多种操作系统(如Debian或者Ubuntu文件系统)。
取消 评论
Windows 2000 Professional SP4+Up1 集成版!
取消 评论
初次安装部署好docker后,大多数镜像可以从DockerHub 提取,但是大多数人都希望自己可以完全自定义一个镜像,那么这里需要一个第三方工具 febootstrap

  epel6的源提供febootstrap的RPM包

  yum install docker-io febootstrap -y

  service docker start

  chkconfig docker --level35 on
复制代码
  制作CentOS6.6镜像目录

  febootstrap -i yum -i iputils -i iproute -i bash -i vim-minimal -i coreutils -i tar -i net-tools centos6 base   <a href="http://centos.ustc.edu.cn/centos/6.6/os/x86_64/" target="_blank">http://centos.ustc.edu.cn/centos/6.6/os/x86_64/</a> -u <a href="http://centos.ustc.edu.cn/centos/6.6/updates/x86_64/" target="_blank">http://centos.ustc.edu.cn/centos/6.6/updates/x86_64/</a>
复制代码
  -i 表示镜像里面安装的RPM包(包括一些人为有必要的软件包)
  centos6 表示镜像的版本说明
  base 表示生成的镜像目录
  后面之后了系统安装源和更新源为USTC

  安装执行后,会开始一系列的RPM包下载安装,过程与yum类似,安装完成后当前目录会多了base目录,里面就是一个镜像的系统文件

  进入base目录等于进入镜像的根目录

  [root@image ~]# cd base/

  [root@image base]# ls

  bin boot dev etc home lib lib64 media mnt opt proc root sbin selinux srv sys tmp usr var
复制代码
  可以像一般的系统文件一样先做一些修改配置,例如配置第三方yum源等等

  把base目录把所有文件打包成二进制文件后导入docker创建为镜像

  cd ~/root/base/ && tar -c . | docker import - centos6:base
复制代码
  docker images 可以查看镜像的信息
  一个基本centos镜像创建完毕,下面再利用Dokcerfile制作mysql镜像
  cat Dockerfile

  FROM centos6:base

  MAINTAINER Lion "lioncui@163.com"

  VOLUME /var/lib/mysql

  RUN yum install mysql-server mysql -y

  RUN echo -ne "NETWORKING=yes\\nHOSTNAME=mysql" > /etc/sysconfig/network

  RUN echo -ne "bind-address = 0.0.0.0\\ndefault-storage-engine=innodb\\ninnodb_file_per_table\\n\

collation-server=utf8_general_ci\\ninit-connect='SET NAMES utf8'\\ncharacter-set-server = utf8" > insert

  RUN sed -i "/user=mysql/r insert" /etc/my.cnf && rm -f insert

  RUN echo -ne "/usr/bin/mysql_install_db\\n/usr/bin/mysqld_safe" >> /opt/mysql_start

  RUN chmod 777 /opt/mysql_start

  ENV PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:

  WORKDIR /opt

  EXPOSE 3306

  CMD /bin/sh -c mysql_start
复制代码

  FROM 声明以centos:base镜像为基础
  MAINTAINER 声明镜像的维护者信息
  VOLUME 挂载本地目录到容器里/var/lib/mysql目录(这是mysql默认的数据保存目录)
  由于我希望数据可以持久化防止因为容器误删除而丢失,所以映射到宿主本地目录
  RUN 在镜像中执行安装mysql
  在新镜像中写入HOSTNAME信息,因为mysql启动过程需要network文件
  在my.cnf配置文件插入一些修改配置
  创建启动脚本
  声明环境变量
  制定默认工作目录
  EXPOSE 声明容器需要暴露的端口号
  CMD 是指镜像生成容器后自动执行的命令,类似docker exec,这里是自动启动mysql服务

  根据Dockerfile创建mysql服务镜像
  docker build --rm=true -t mysql:frist .
  查看镜像的树状关系可以发现,mysql:frist是以centos:base为父镜像
取消 评论
ZOL问答 > 怎么把ISO镜像转换成Docker镜像

举报

感谢您为社区的和谐贡献力量请选择举报类型

举报成功

经过核实后将会做出处理
感谢您为社区和谐做出贡献

提示

确定要取消此次报名,退出该活动?