docker 文档
at 6年前 ca Docker pv 2027 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 的绝对路径
版权声明
本文仅代表作者观点,不代表码农殇立场。
本文系作者授权码农殇发表,未经许可,不得转载。