docker 的一些基本命

来源:互联网 发布:图像相减 负值 python 编辑:程序博客网 时间:2024/04/30 09:48

项目中用到docker, 所以现学现卖了,记录一下docker 中一些常用的命令

1. 首先我们要写一个Dockerfile, example 的在下面,(安装nodejs 的service 为例)具体可以参考

https://nodejs.org/en/docs/guides/nodejs-docker-webapp/

FROM node:boron 

RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app
COPY package.json /usr/src/app/
RUN npm install

COPY . /usr/src/app

# set environment variable 
ENV ES_HOST=https://127.0.0.1:9200

# replace this with your application's default port
EXPOSE 8080
CMD [ "npm", "start" ]


2. build 自己的images, 在Dockerfile 目录下面run 

docker build -t node-web-app . 

run 下面的命令我们可以将查询所有的image
REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE
node-web-app        latest              d287f3defdd2        About a minute ago   727.6 MB
node                4.5.0               10a26800d95a        3 months ago         648.5 MB
hello-world         latest              c54a2cc56cbb        5 months ago         1.848 kB


3. run 你的app, 我这边的是一个webservice 

docker run -p 8080:8080 -d --name elasticQuery node-web-app

run docker ps -a 查看一下是否OK

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS                    NAMES
2a74f053d5c0        node-web-app        "npm start"         7 seconds ago       Up 6 seconds             0.0.0.0:8080->8080/tcp   elasticQuery
d60477b114f6        hello-world         "/hello"            6 hours ago         Exited (0) 6 hours ago                            clever_wescoff


4. delete/stop/start 

查询所以docker container docker ps -a, 例如

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
d60477b114f6           hello-world            "/hello"                    5 hours ago         Exited (0) 5 hours ago                            clever_wescoff

这个明显表面hello-world 的app 处在exited 的状态,如果是UP的状态。我们可以
docker stop   clever_wescoff (name)

我们还可以delete 这个container: docker rm  d60477b114f6 

我们还可以delete 我们的images, 首先查询一下images, docker images:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
node                4.5.0               10a26800d95a        3 months ago        648.5 MB
hello-world         latest              c54a2cc56cbb        5 months ago        1.848 kB

然后detele image: docker rmi  c54a2cc56cbb       









0 0