将-it选项传递给Docker容器
我是新来的docker工人,正在试验它。 我运行一个docker镜像如下:
docker run -it -p 4000:4000 -p 5858:5858 -v /c/Users/a/b:/usr/src/test/ image-name /bin/bash
运行后我在Docker容器中执行一些复制操作。
现在我想知道是如何使用docker-compose来完成的,它将根据我指定的命令执行复制操作,并保持terminal打开状态。
提前致谢 :)
你需要做的一切就在这里
首先创build一个Dockerfile,在那里你可以把你想要的任何“复制操作”。
一个Dockerfile的例子,
FROM python:3.4-alpine ADD . /code WORKDIR /code RUN pip install -r requirements.txt CMD ["python", "app.py"]
安装卷 ,你需要确保有数据要复制到“b”文件夹作为下面的卷 ,以便它将在testing/在容器中可用。
这是你的撰写文件。
version: '2' services: service-name: image: image-name:latest ports: - 4000:4000 - 5858:5858 volumes: - /c/Users/a/b:/usr/src/test/
在Dockerfile中使用COPY命令,这样就不需要将卷挂载到容器上。
Dockerfile ,下面解释了如何通过复制当前目录来运行简单的节点应用程序
FROM node:boron # Create app directory WORKDIR /usr/src/app # Install app dependencies COPY package.json . # For npm@5 or later, copy package-lock.json as well # COPY package.json package-lock.json ./ RUN npm install # First .(DOT) referes to current folder where the docker is, and second .(DOT) referes to teh folder where you want to copy COPY . . EXPOSE 8080 CMD [ "npm", "start" ]