docker
image --> Dockerfile
container --> docker-compose.yml
build image
- nodejs
cd [path to your node-docker directory]
npm init -y
npm install ronin-server ronin-mocks
touch server.js
- image
docker tag node-docker:latest node-docker:v1.0.0
docker rmi node-docker:v1.0.0
Untagged: node-docker:v1.0.0
run container
--publish flag (-p for short)
docker run --publish 8000:8000 node-docker
docker rm wonderful_kalam agitated_moser goofy_khayyam
develop
- 先挂载卷建网络,后使用!!!
- 一个容器只能同时连接到一个网络
docker volume create mongodb
docker volume create mongodb_config
docker network create mongodb
docker run -it --rm -d -v mongodb:/data/db \
-v mongodb_config:/data/configdb -p 27017:27017 \
--network mongodb \
--name mongodb \
mongo
env
- 使用环境变量
docker run \
-it --rm -d \
--network mongodb \
--name rest-server \
-p 8000:8000 \
-e CONNECTIONSTRING=mongodb://mongodb:27017/notes \
pardon/node-docker
--build
当前需要有对应的image构建文件 Dockerfile
docker compose -f docker-compose.dev.yml up --build
dockerfile
- 冒号后面的部分缺失,则意味着只指定了容器内的路径,而宿主机上不会有对应的挂载点
- 应用场景: 在容器内创建临时目录或文件
volumes:
- ./:/app
- /app/node_modules