docker 小记

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

你可能感兴趣的:(docker,容器,运维)