docke基本命令合集

`docker 命令全集
一:首先来理解三个名词解释:

1、镜像(image)
Docker 镜像(Image)就是一个只读的模板。例如:一个镜像可以包含一个完整的操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。

2、仓库(repository)
仓库(Repository)是集中存放镜像文件的场所。

3、容器(container)
Docker 利用容器(Container)来运行应用。容器是从镜像(Image)创建的运行实例。

二:常用的命令集合如下:

容器生命周期管理 — docker
[run|start|stop|restart|kill|rm|pause|unpause|create]

容器操作运维 — docker
[ps|exec|inspect|top|attach|events|logs|wait|export|import|port]

容器rootfs命令 — docker
[commit|cp|diff]

本地镜像管理 — docker
[images|rmi|tag|build|history|save]

镜像仓库 — docker
[login|pull|push|search]

其他命令 — docker
[info|version]

命令 解释
docker run -d --name alias-Name imageName 在后台启动一个容器
docker start/stop/restart Name/ID 启动容器/停止容器/重启容器
docker kill -s KILL Name/ID 杀死一个运行的容器
docker rm /rm -f Name/ID 删除容器/强制删除容器
docker pause/unpause Name/ID 暂停容器/恢复容器
docker create --name CONTAINER_Name imageName 只创建容器但不启动
docker ps / docker ps -a 查看运行的容器
docker exec -it CONTAINER_ID /bin/bash [--privileged=true false]
ddocker attach CONTAINER_ID 进行一个运行中的容器,不开启一个新的终端
docker inspect CONTAINER_Name 查看容器的相关信息
docker top CONTAINER_Name 查看容器里面的进程
docker events -f "image"="imageName" --since="1467302400" 时间戳=2016年7月1日后的相关事件
docker logs CONTAINER_Name 查看容器的日志输出
docker wait CONTAINER_Name 阻塞运行直到容器停止,然后打印出它的退出代码
docker export CONTAINER_ID > test.tar 将容器进行打包保存到本地,文件类型为tar
docker import test.tar - image_name:tag 将上面保存的文件导入到镜像库中
docker export -o test.tar CONTAINER_ID 将容器进行打包保存到本地,文件类型为tar
cat test.tar docker import - image_name:tag
docker port CONTAINER_ID 查看容器的端口映射情况
docker save -o test.tar CONTAINER_ID 将当前的镜像保存到本地的一个tar 类型的文件
docker load -i test.tar 载入镜像
docker commit -a "tony test" -m "my mysql" CONTAINER_ID mymysql:v1 提交一个正在运行的容器为镜像(-a是作者-m是提交信息)
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/ 将某文件复制到容器内
docker diff CONTAINER_ID 用来检查容器里面文件结构的更改
docker tag mysql:v5.6 mysql:v5.7 给镜像做一个有别名的复本
docker build -t runoob/ubuntu:v1 . 构建一个镜像
docker history image_name 查看当前这个镜像的历史信息
docker cp /ruiqi/content CONTAINER_ID:/ruiqi/ 将某文件复制到容器内
docker update [OPTIOS] CONTAINER_ID 更新容器的一些运行时配置

docker login //登录镜像仓库
docker pull //从镜像仓库中拉镜像
docker push //向镜像仓库推本地的镜像文件
docker search //检索镜像内容

三:指令说明

指令 说明 举例
ARG 定义创建镜像过程中使用的变量 ARG VERSION=1.9.1
FROM 指定所创建镜像的基础镜像 FROM debian:${VERSION}
LABEL 为生成的镜像添加元数据标签信息 LABEL verion="1.9.1"
EXPOSE 声明镜像内服务监听的端口 EXPOSE 22 80 443
ENV 指定环境变量 ENV APP_VERION=1.0.0
ENV APP_HOME=/usr/local/app
ENV PATH $PATH:/usr/local/bin
ENTRYPOINT 指定镜像的默认入口命令 方法一:ENTRYPOINT ["executable", "paraml ", "param2"]: exec 调用执行
方法二:ENTRYPOINT command param 1 param2: shell 中执行
VOLUME 创建一个数据卷挂载点 VOLUME ["/data"]
USE 指定运行容器时的用户名或UID
WORKDIR 配置工作目录 WORKDIR /path/to/workdir
WORKDR test
RUN pwd 最终路径为: /path/to/workdir/test/
ONBUILD 创建子镜像时指定自动执行的操作指令 在父镜像中定义的ONBUILD,会在在镜像中执行指令
STOPSIGNAL 指定退出的信号值 STOPSIGNAL signal
HEALTHCHECK 配置所启动容器如何进行健康检查 HEALTHCHECK [OPTIONS] CMD command :根据所执行命令返回值是否为判断
SHELL 指定默认shell类型 SHELL [” executable ”,”parameters”]
默认值为 ["/bin/sh","-c"]
ADD 添加内容到镜像 ADD src dest
注:如果src是一个tar,会自动解压
ADD *.c /code/
COPY 复制内容到镜像 COPY src dest
SHELL 指定默认shell类型 SHELL [” executable ”,”parameters”]
默认值为 ["/bin/sh","-c"]

四:利用dockerfile 制作一个tomcat 运行image:

[root@localhost common]# more Dockerfile.tomcat
FROM daocloud.io/centos:7
COPY jdk-8u144-linux-x64.rpm /opt/jdk-8u144-linux-x64.rpm
RUN ["rpm","-ivh","/opt/jdk-8u144-linux-x64.rpm"]
COPY security /usr/java/jdk1.8.0_144/jre/security
COPY certs /etc/pki/tls/certs
COPY tomcat /opt/tomcat
RUN ["ln","-s","/opt/tomcat","/usr/local/tomcat"]

`

原文地址:https://www.cnblogs.com/y-x-h/p/14785234.html