Build Image

Build Image

如何构建自己的镜像 #

当我们需要对外提供一个配置好的基础环境时,我们需要自己打包构建一个image镜像,并发布出去。

大致的流程是:拉取基础镜像、进入镜像并安装依赖、退出容器并打包、上传至中央仓库。

以一个简单的C++调试环境为例 #

  1. 选择ubuntu作为基础镜像:
docker pull ubuntu

查看是否拉取成功:

docker images
  1. 以交互的方式启动容器
docker run -it ubuntu /bin/sh
  1. 在容器内部安装g++和gdb程序, 并退出
apt update
apt install g++ gdb

exit
  1. 找到容器并打包
docker container ls -a

可以看到有我们刚刚退出的容器,此时容器已经停止运行,但是容器依然存在。

docker commit -a paladnix -m 'simple gdb' cbf13e09376d simple-gdb:1.0
docker images

可以看到我们已经有了两个image:

REPOSITORY   TAG       IMAGE ID       CREATED          SIZE
simple-gdb   1.0       1a46f7f7599e   16 seconds ago   446MB
ubuntu       latest    ba6acccedd29   8 weeks ago      72.8MB

通过dockerfile来创建镜像 #

Dockerfile

FROM ubuntu
RUN apt update && apt install g++ gdb
docker build -t simple-gdb:1.0 ./

上传镜像至docker-hub #

这是一个类似于github的设计,我们可以在https://hub.docker.com/ 中申请一个账号,然后创建自己的镜像仓库。随后在本地机器上使用命令登陆即可上传操作。

docker login
# 根据提示输入账号和密码

随后需要将我们的镜像重命名,其中REPOSITORY必须是我们注册的“用户名/仓库名”的形式,tag可以自行设定。

docker tag [image ID] [UserID]/[repository]:[tag]

随后使用docker push [UerID]/[repository]:[tag] 即可上传至中央仓库。