[Docker] Run a command inside Docker container

Posted answer1215

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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

 

以上是关于[Docker] Run a command inside Docker container的主要内容,如果未能解决你的问题,请参考以下文章

2Learn about images & containers

docker run option

docker run命令详解及示例

docker run 参数

docker run 命令参数

docker run配置参数