zoukankan      html  css  js  c++  java
  • [Docker] Run a command inside Docker container

    For example you are working in a backend project, you have setup Dockerfile:

    FROM node:10.16.0-stretch
    
    ENV APP_DIR /app
    
    RUN mkdir $APP_DIR
    
    WORKDIR $APP_DIR
    
    COPY package.json yarn.lock $APP_DIR/
    
    RUN yarn install --pure-lockfile
    
    COPY . $APP_DIR

    Here is the .env:

    BUNDLE_SRC=http://localhost:1337/app.js
    HOST_DB=localhost
    PORT_WEB=4010
    PORT_DB=3020

    Because we want to setup Database as well, therefore we need to use Docker compose as well:

    // docker-compose.yml
    
    version: '2'
    services:
      app:
        build: .
        command: yarn server
        environment:
          - 'PORT_WEB=8080'
        expose:
          - '${PORT_WEB}'
        ports:
          - '${PORT_WEB}:${PORT_WEB}'
        volumes:
          - '.:/app'
          - '/app/node_modules'
        depends_on:
          - db
    
      db:
        image: postgres:9.6.3
        expose:
          - '5432'

    For now, we can run the container by using:

    docker-compose up

    But if we need to install a new package, we can do inside container;

    docker exec -it backend_app_1 /bin/bash

    It enable us to run command inside docker, so we can do:

    npm i --save pg

    If we want to exit command mode, we can do:

    exit
  • 相关阅读:
    京东白条
    Linux命令(40)rm 命令
    Linux命令(39)rmdir 命令
    Linux命令(38)pstree命令
    Linux命令(37)type命令
    Linux命令(36)help命令
    Linux命令(35)du命令
    CentOS7修改主机名
    Linux命令(34)tac命令
    Linux命令(33)cat命令
  • 原文地址:https://www.cnblogs.com/Answer1215/p/11028525.html
Copyright © 2011-2022 走看看