Build Image
如何构建自己的镜像 #
当我们需要对外提供一个配置好的基础环境时,我们需要自己打包构建一个image镜像,并发布出去。
大致的流程是:拉取基础镜像、进入镜像并安装依赖、退出容器并打包、上传至中央仓库。
以一个简单的C++调试环境为例 #
- 选择ubuntu作为基础镜像:
docker pull ubuntu
查看是否拉取成功:
docker images
- 以交互的方式启动容器
docker run -it ubuntu /bin/sh
- 在容器内部安装g++和gdb程序, 并退出
apt update
apt install g++ gdb
exit
- 找到容器并打包
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]
即可上传至中央仓库。