小编use*_*620的帖子

如何使用 docker 构建我自己的自定义 Ubuntu ISO

作为背景,我有一个自定义的 Ubuntu LiveUSB,它会自动启动到“试用”,操作系统将预装应用程序,我已经将这些应用程序刻录到 ISO 本身中。

它工作得很好,但我一直遇到自动化过程的问题。

而不是每次都手动完成,(因为我的 bash 脚本在我第一次再次尝试时不断得到不同的结果)我正在考虑使用准备修改的 ISO 中解压文件生成一个 docker 镜像,然后在卷中运行带有脚本的容器 (docker run -v $(pwd)/bin:/data myimage /data/myscript.sh),它将修改内容,将其打包回 ISO 并将 ISO 保存在 /数据供我抓取和分发。

FROM ubuntu:16.04

MAINTAINER Myself

ENV ISO_FILE="ubuntu-16.04.3-desktop-amd64.iso" \
    OS_VERSION="16.04.3"

RUN apt-get update && apt-get install -y curl

RUN curl -sL https://deb.nodesource.com/setup_8.x | bash -
RUN apt-get install -y squashfs-tools genisoimage gnupg2 \
                       nodejs rsync build-essential libc6-dev-i386 \
                       wget

# Make directories
RUN mkdir /data
RUN mkdir -p /root/workspace

# Download ubuntu iso
WORKDIR /root/workspace
RUN wget http://releases.ubuntu.com/$OS_VERSION/$ISO_FILE …
Run Code Online (Sandbox Code Playgroud)

docker dockerfile docker-compose

5
推荐指数
1
解决办法
1477
查看次数

我可以在Dockerfile USER语句中使用环境变量吗?

所以我的Dockerfile是这样写的:

# set env vars for linux user
ENV LINUX_USER="kbuser"
...
... # other stuff
...
USER kbuser
Run Code Online (Sandbox Code Playgroud)

但是我想用

USER $LINUX_USER
Run Code Online (Sandbox Code Playgroud)

这样,我只需要在文件的一个位置写入用户名即可。但这是行不通的。

我该如何解决?

谢谢。

docker

3
推荐指数
1
解决办法
3990
查看次数

标签 统计

docker ×2

docker-compose ×1

dockerfile ×1