一、容器基本操作
二、具体应用
1、构建镜像的docker build 命令
主要参数如下:
-c: 控制CPU使用。
-f: 选择Dockerfile 名称。
-m: 设置构建内存上限。
-q: 不显示构建过程的一些信息。
-t: 为构建的镜像打上标签
2、提交容器的docker commit 命令
主要功能是把当前容器提交打包为镜像。
主要参数如下:
-a: 添加作者信息,方便维护。
-c: 修改Dockerfile 指令,目前支持的有以下指令
CMD | ENTRYPOINT | ENV | EXPOSE | LABEL | ONBULLD | USER | VOLUME | WOEKDIR
-m: 类似git commit -m 这样,提交修改信息。
-p: 暂停正在commit 的操作。
3、复制文件到宿主机的docker cp 命令
docker cp forum.war dece4823ce5b:/usr/local/tomcat/webapps #dece4823ce5b 是tomcat容器的ID
4、进入容器的docker exec 命令
主要参数如下:
-d 分离模式:在后台运行的命令。
-i 交互模式。
-t 分配一个TTY。
-u 指定用户和用户组。
docker exec -it 3cb492a27475 /bin/bash #中间那个是容器id(CONTAINER_ID)
5、查看本地镜像的docker images 命令
主要参数:
-a: 显示所有镜像,包括中间镜像(悬挂镜像),默认不显示。
-f: 过滤显示。
-q: 只显示ID。
6、查看容器日志docker logs 命令
主要参数:
–details: 显示更详细的日志。
-f: 持续输出日志。
–since:显示某字符串开始的日志。
–tail:显示某字符串之前的日志。
-t: 显示时间戳。
7、查看本地容器信息的docker ps 命令
主要参数:
-a: 显示全部容器,包括各种状态的容器,只要存在就显示。
-f: 添加过滤条件。
-n: 显示最近创建的几个容器(包括所有状态的容器,-l 显示最近创建的一个,遇到持续输出的信息还可以使用–no-trunc 进行追加)。
-q:只显示ID。
-s: 显示容器大小。
8、重命名容器的docker rename 命令
docker rename <旧容器名><新容器名>
9、删除容器的docker rm 命令
docker rm <Container Name/Container ID>
10、删除镜像的 docker rmi 命令
docker rmi <镜像的ID>
11、运行容器的docker run 命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的高端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;
11.1实例
使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
[email protected]:~$ docker run -it nginx:latest /bin/bash
[email protected]:/#
12、启动容器的docker start 命令
docker start 命令的作用是启动一个或者多个停止状态的容器,docker start 命令后面可以是容器名称,也可以是容器的ID。
13、停止容器的docker stop 命令
命令的作用是用于停止一个或者多个正在运行的容器,与docker kill 命令不同,docker stop 命令会向容器发送正常停止的信号,而docker kill 命令会强制终止容器进程,后者有可能造成数据丢失。
14、查看Docker 版本的docker version 命令
15、管理数据卷的docker volume 命令
16、列出最近一个运行过的container
不加-l则只列出正在运行的container(比如后台任务)。
docker ps -l
17、列出所有container
docker ps -a
18、查看container详情
docker inspect [container ID]
19、查看容器内部的进程信息
docker top [container ID]
20、搜索Docker Image
搜索网址是:index.docker.io [国内无法访问]
其他网址是:https://hub.docker.com/
docker search tutorial
三、Docker网站
https://docs.docker.com/