我对docker完全陌生,我正在工作的客户端向我发送了dockerfile配置.dockerignore文件,可能是为了设置工作环境。
所以这基本上就是他发给我的
FROM node:8
# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json package-lock.json ./
RUN npm install
COPY assets ./assets
COPY server ./server
COPY docs ./docs
COPY internals ./internals
COPY track ./track
RUN npm run build:dll
COPY . .
EXPOSE 3000
CMD [ "npm", "start" ]
使用docker build and run命令(他也提供了相同的命令)
docker build -t reponame:tag .
docker run -p 3000:3000 admin-web:v1
在这里,首先有人可以告诉我copy . .
是什么意思吗?
他要求我相应配置所有端口。回顾视频,我记得我们可以映射类似-p 3000:3000
的端口,但是配置端口意味着什么?我该怎么办?相同的任何相关文章也将有所帮助。我需要制作docker-compose文件吗?
答案 0 :(得分:1)
.
在linux中是current directory
。因此,基本上是:将current本地目录复制到当前容器的目录。
开关-p
用于配置port mapping。 -p 2900:3000
表示将本地端口2900
发布到容器的3000
端口,以便容器在 outside 上可用(例如,通过Web浏览器)。没有该映射,该端口将无法在容器外部访问。但是,该端口仍可用于同一docker网络中的其他容器。
答案 1 :(得分:0)
您不需要制作docker-compose.yml文件,但是如果您拥有一个文件,肯定会使您的生活更轻松,因为那样您每次都可以运行docker-compose up
来运行容器而不是不得不运行
docker run -p 3000:3000 admin-web:v1
每次您要启动应用程序时。
这是我从朋友那里得到的终极docker秘籍之一,可能会为您提供帮助:https://gist.github.com/ruanbekker/4e8e4ca9b82b103973eaaea4ac81aa5f