docker 文档

at 5年前  ca Docker  pv 1400  by touch  

Docker 文档


1、image文件

Docker 把应用程序及其依赖,打包在 image 文件里面。只有通过这个文件,才能生成 Docker 容器。image 文件可以看作是容器的模板。Docker 根据 image 文件生成容器的实例。同一个 image 文件,可以生成多个同时运行的容器实例。


命令:

docker image ls : 列出本机的所有 image 文件

docker image rm [imageName]: 删除 image 文件

docker image pull library/hello-world : 从 【library/hello-world】 抓取 image 文件,library是 image 文件所在的组,hello-world是 image 文件的名字。由于 Docker 官方提供的 image 文件,都放在library组里面,所以它的是默认组,可以省略。因此,上面的命令可以写成下面这样。

docker image pull hello-world

docker image ls: 查看本机已下载image


2、container文件

image 文件生成的容器实例,本身也是一个文件,称为容器文件。也就是说,一旦容器生成,就会同时存在两个文件: image 文件和容器文件。而且关闭容器并不会删除容器文件,只是容器停止运行而已。


命令:

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

docker ps : 查看当前运行的容器

docker container ls --all : 列出本机所有容器,包括终止运行的容器

docker ps -a : 查看所有操作过的容器

docker ps -l : 查看当前未运行的容器

docker exec -idt [containID] /bin/bash : 进入容器内部

docker container run [imageName] : 从 image 文件,生成一个正在运行的容器实例,

注意,docker container run [imageName] 命令具有自动抓取 image 文件的功能。如果发现本地没有指定的 image 文件,就会从仓库自动抓取。因此,前面的docker image pull 命令并不是必需的步骤

docker container kill [containID] : 终止的容器运行,吃屎容器文件依然存在,只是停止运行

docker container rm [containID] : 删除容器文件

docker container start [containerID] : 启动已经生成、已经停止运行的容器文件

docker container stop [containerID] :停止容器运行

docker container cp [containID]:[/path/to/file] /path/to/file_cp : 从正在运行的 Docker 容器里面,将文件拷贝到本机

docker exec -it [containerID] /bin/bash : 进入容器

docker port [containerID] : 查看容器端口的映射情况

docker logs -f [containerID] : 查看容器内部的标准输出

docker top [containerID] : 查看容器内部运行的进程

docker inspect [containerID] : 查看容器IP


docker container run -p 8000:3000 /www:/var/www -i -t koa-demo /bin/bash  或者 

docker container run -p 8000:3000 -i -t koa-demo:0.0.1 /bin/bash

-p 参数:容器的 3000 端口映射到本机的 8000 端口

-t 参数:在新容器内指定一个伪终端或终端。

-i 参数:允许你对容器内的标准输入 (STDIN) 进行交互。

-v 参数:挂载目录 本机的 /www 挂载到容器的 /var/www

-d 参数:后台运行

/bin/bash:容器启动以后,内部第一个执行的命令。这里是启动 Bash,保证用户可以使用 Shell。



3、Dockerfile

用来配置 image。Docker 根据 该文件生成二进制的 image 文件

.dockerignore: 过滤文件

FROM : 指定使用哪个镜像源

EXPOSE:对外暴露的端口

RUN :可以有多个RUN,在制作镜像的过程中执行,执行结果将打包进镜像文件中

CMD:只能有一个,执行shell命令,注意,指定了CMD命令以后,docker container run 命令就不能附加命令了(比如上面的/bin/bash),否则它会覆盖CMD命令


FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd www
RUN     /bin/echo 'www:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D

docker build -t www/centos:6.7 .


制作镜像:

docker build -t www/centos:6.7 ./Dockerfile

-t : 指定要创建的目标镜像名

.  : Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径


版权声明

本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。

 

扫一扫在手机阅读、分享本文

已有0条评论