一、容器基本操作

Docker常用命令

二、具体应用

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/

Docker常用命令

相关文章: