今天教大家使用Docker制作一个自己专属的开发环境。

Dockerfile

在项目的根目录下,新建Dockerfile文件,并写入下面的内容:

1
2
3
4
5
FROM alpine:latest
ADD package.json /root/package.json
WORKDIR /tmp
ENV SHELL /bin/bash
RUN apk add --no-cache nodejs=~18.14.2

上面一共5行代码,分别代表的含义如下。

  • FROM alpine:latest:该 image 文件继承官方的 alpine image,冒号表示标签,这里标签是latest,即latest版本的 node。
  • ADD package.json /root/package.json:将当前目录下的package.json文件复制到image文件的/root/目录。
  • WORKDIR /tmp:指定接下来的工作路径为/tmp。
  • ENV SHELL /bin/bash:添加环境变量SHELL=”/bin/bash”。
  • RUN apk add –no-cache nodejs=18.14.2:在/tmp目录下,运行apk add命令安装nodejs。()表示安装最新的补丁级别,例如安装18.14.x版本的最新补丁级别。(–no-cache)表示不使用缓存。

构建镜像

通过docker build构建镜像。

1
docker build . -t xxx/xxxx:0.1
  • .:表示当前目录下的所有文件。
  • -t:指定构建的镜像名称和标签信息。
  • xxx/xxxx:镜像名称。
  • 0.1:标签信息。

生成容器

通过docker run生成容器。

1
docker run -dit xxx/xxxx:0.1
  • -d:指定容器运行于后台并打印容器ID。
  • -i:以交互模式运行容器,通常与 -t 一起使用。

进入容器

通过docker exec进入容器。

1
docker exec -it 容器id bash
  • 生成容器时,会打印容器id,进入时只需要前4~5位id即可以。
  • bash即指定shell为bash。

分享镜像

将镜像上传到Docker Hub。

1
2
3
4
5
6
// 登录Docker Hub
docker login
// 上传
docker push xxx/xxxx:0.1
// 下载
docker pull xxx/xxxx:0.1

配合VSCode使用

使用VSCode连接Docker容器。

  • 在项目的根目录下,新建Dockerfile文件,并写入下面的内容:

    1
    FROM xxx/xxxx:0.1
  • 安装Dev Containers插件,按Ctrl+Shift+P并选择Reopen in Container即可新建并进入容器。


好了,以上就是使用Docker制作开发环境并配合VSCode使用的一些思路,大家赶快开发自己的专属完美环境吧。