docker下使用Dokerfile创建image

本文最后更新于:2022年9月29日 下午

docker下使用Dockerfile创建image

创建 Dockerfile 文件

文件如下

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
29
30
31
32
33
# 使用 ubuntu:21.04 作为基板,以下都是在此基础上安装等等
FROM ubuntu:21.04
# 指定维护者信息
MAINTAINER acoollib<acoollib@gmail.com>
# 运行命令,推荐此方式,但是此方式写起来比较麻烦,后续直接使用另一种方式
# 具体查看 参考3链接
RUN ["/bin/bash","-c","echo hello"]
# 添加用户
RUN useradd --create-home -u 1000 u
# 修改时区
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

# 换源
RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
RUN sed -i '/security.ubuntu.com/d' /etc/apt/sources.list

# 安装软件
RUN apt-get clean && apt-get update && apt-get install -y repo git ssh make gcc libssl-dev liblz4-tool \
expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support \
qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip \
device-tree-compiler ncurses-dev \
time \
openssh-server net-tools
# 替换 openssh-server 配置,使其支持root登录
RUN sed -i '/.*PermitRootLogin*/c\PermitRootLogin yes' /etc/ssh/sshd_config

# 使用创建好的用户
USER u

# 工作目录使用 /home/u
WORKDIR /home/u

构建镜像

sudo docker build -t test .

  • build 指定为构建镜像
  • -t 指定镜像名为 test
  • . 指令构建路径为当前目录,确保Dockerfile在当前目录,并且当前目录没有其它无用文件。

参考

  1. Docker日常使用
  2. Dockerfile文件创建详解(实战)
  3. Dockerfile指令详解
  4. 配置ssh服务

docker下使用Dokerfile创建image
https://www.glj0.top/posts/42edd7ca/
作者
gong lj
发布于
2022年6月8日
更新于
2022年9月29日
许可协议