搭建一个汇编开发学习用的容器

制作一个基于alpine的容器,用来进行汇编代码的学习和开发。首先写一个Dockerfile,在容器里面安装所需的包:

FROM alpine
RUN apk add --update vim yasm gcc gdb git\
  && rm -rf /var/cache/apk/*

build这个容器:

$ docker build -t assembly .

build过程:

可以看到tagassembly的容器里面在build过程中,按照Dockerfile中的RUN指令,安装好了所需的包。查看image

$ docker image ls
REPOSITORY                                 TAG                   IMAGE ID            CREATED             SIZE
assembly                                   latest                3ace4166a0bb        3 minutes ago       192MB

看到build好的这个image,把它上传到dockerhub。首先要用我们的dockerhub账号登录:

$ docker login
Authenticating with existing credentials...
Login Succeeded

此时需要用我们的用户名重新tag一下image,我们知道image id

因此要tag一下:

$ docker tag 3ace4166a0bb weli/assembly

把这个image的tag变更为weli/assembly。此时查看image:

可以看到这个容器除了已经有的assembly这个tag,还有了weli/assembly这个tag。接下来我们把容器push到dockerhub

$ docker push weli/assembly

Push过程如下:

Push完成后,去dockerhub的网站查看:

可以看到这个image已经被上传好了。这样,所有使用docker的用户就可以pull这个image,并且运行它了:

$ docker run -it --privileged weli/assembly sh

查看容器里面安装的所需工具:

可以看到编译汇编代码所需的工具已经齐全了。