docker命令

列出所有image文件:docker image ls

拉取image文件:docker image pull xxx

运行image文件:docker container run xxx

列出所有的docker容器????: docker ps -l

列出正在运行的容器:docker container ls

列出本机所有的容器:docker container ls --all

终止docker容器:docker container kill [containerID]  或命令行exit

删除本机某容器: docker container rm [containerID]

创建image:

创建.dockerignore

创建dockerfile:

//该 image 文件继承官方的 node image,冒号表示标签,这里标签是8.4,即8.4版本的 node。
FROM node:8.4
//将当前目录下的所有文件(除了.dockerignore排除的路径),都拷贝进入 image 文件的/app目录。 COPY . /app
//指定接下来的工作路径为/app WORKDIR /app
//在/app目录下,运行npm install命令安装依赖。注意,安装后所有的依赖,都将打包进入 image 文件。 RUN npm install --registry=https://registry.npm.taobao.org
//将容器 3000 端口暴露出来, 允许外部连接这个端口。 EXPOSE 3000

执行docker image build -t xxx:0.0.1 .
其中.表示dockerfile文件所在路径,顶级目录下为.

运行dockerfile:

$ docker container run -p 8000:3000 -it koa-demo:0.0.1 /bin/bash
-p参数:容器的 3000 端口映射到本机的 8000 端口 -it参数:容器的 Shell 映射到当前的 Shell,然后你在本机窗口输入的命令,就会传入容器。 koa-demo:0.0.1:image 文件的名字(如果有标签,还需要提供标签,默认是 latest 标签)。 /bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。
执行node index.js(npm start执行的语句)启动

发布image:

docker login
docker image tag [imageName] [username]/[repository]:[tag]
docker image tag test-platform-test hanxiaoer/test-platform-test:0.0.1
docker image build -t [username]/[repository]:[tag] .
docker image push [username]/[repository]:[tag] 

查看容器ip::

 docker inspect [containerId]

进入运行的container命令行:

docker exec -it mysql /bin/bash

使容器运行在同一网络:

docker network create -d bridge network-name

docker run --rm --name mysql --network network-name -e MYSQL_ROOT_PASSWORD=xxx -d -it -p 3307:3306 mysql

docker container run --rm --name testplay -it -p 1000:3000 --network network-name --link mysql:mysql -e DATABASE_HOST=mysql -e DB_USER=root test:0.0.2 /bin/bash

 

介绍ppt:https://github.com/hanxiaoer1992/docker_nodejs_cmd/blob/master/Docker.pptx

 

posted @ 2019-03-12 23:36  寒筱洱  阅读(178)  评论(0编辑  收藏  举报