Docker Daemon 相关命令
查看当前docker版本号
docker --version
查看Docker系统信息,包括镜像数和容器数
docker info
设置Docker开机启动
systemctl enable docker
启动Docker
service docker start
重启Docker
systemctl restart docker
重启守护进程
systemctl daemon-reload
卸载Docker软件包
sudo yum -y remove docker-engine
删除Docker本地产生的数据(镜像,容器,卷及自定义的配置文件)
sudo rm -rf /var/lib/docker
Docker Images 相关命令
docker search 搜索镜像:搜索存放在Docker Hub中的镜像。
docker search
命令格式:
docker search [OPTIONS] TERM
--automated false 只列出自动构建的镜像
--filter, -f 根据指定条件过滤结果
--limit 25 搜索结果的最大条数
--no-trunc false 不截断输出,显示完整的输出
--stars, -s 0 只展示Star不低于该数值的结果
示例:
docker search java
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
java Java is a concurrent, ... 1281 [OK]
anapsix/alpine-java Oracle Java 8 (and 7) ... 190 [OK]
isuper/java-oracle This repository conta ... 48 [OK]
lwieske/java-8 Oracle Java 8 Contain ... 32 [OK]
nimmis/java-centos This is docker images ... 23 [OK]
① NAME:镜像仓库名称。
② DESCRIPTION:镜像仓库描述。
③ STARS:镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于GitHub的Stars。
④ OFFICAL:表示是否为官方仓库,该列标记为[OK]的镜像均由各软件的官方项目组创建和维护。由结果可知,java这个镜像仓库是官方仓库,而其他的仓库都不是镜像仓库。
⑤ AUTOMATED:表示是否是自动构建的镜像仓库。
docker pull 下载镜像 命令即可从Docker Registry上下载镜像。
docker pull
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
--all-tags, -a false 下载所有标签的镜像
--disable-content-trust true 忽略镜像的校验
docker pull java
docker pull reg.itmuch.com/java:7 该命令还可指定想要下载的镜像标签以及Docker Registry地址
docker images 列出镜像[重要]
使用docker images 命令即可列出已下载的镜像。
该表格包含了5列,含义如下:
① REPOSITORY:镜像所属仓库名称。
② TAG:镜像标签。默认是latest,表示最新。
③ IMAGE ID:镜像ID,表示镜像唯一标识。
④ CREATED:镜像创建时间。
⑤ SIZE:镜像大小。
命令格式:
docker images [OPTIONS] [REPOSITORY[:TAG]]
--all, -a false 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
--digests false 显示摘要信息
--filter, -f 显示满足条件的镜像
--format 通过Go语言模板文件展示镜像
--no-trunc false 不截断输出,显示完整的镜像信息
--quiet, -q false 只显示镜像ID
docker images java
docker rmi 删除本地镜像[重要]
docker rmi
--force, -f false 强制删除
--no-prune false 不移除该镜像的过程镜像,默认移除
docker rmi java
docker rmi -f $(docker images)
docker tag 设置镜像标签
我们可以使用 docker tag 命令,为镜像添加一个新的标签。
runoob@runoob:~$ docker tag 860c279d2fec runoob/centos:dev
docker tag 镜像ID,这里是 860c279d2fec ,用户名称、镜像源名(repository name)和新的标签名(tag)。
Docker Container 相关命令
docker run 新建并启动一个容器
docker :Docker的二进制执行文件
run:与docker 组合使用
-d 后台运行
-p 随机端口映射
-p 指定端口映射 (以下四种格式)
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
-network 指定网络模式
–network=bridge: 默认选项,表示连接到默认的网桥。
–network=host:容器使用宿主机的网络。
–network=container:NAME_or_ID:告诉Docker让新建的容器使用已有容器的网络配置。
–network=none:不配置该容器的网络,用户可自定义网络配置。
-i 以交互模式运行容器,通常与 -t 同时使用;
-t 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
示例:
docker run java /bin/echo 'Hello World' 及运行一个java镜像容器,并在容器里执行 /bin/echo 'Hello World'
docker run -d -p 91:80 nginx (-p 宿主机端口:容器端口 # 开放容器端口到宿主机端口 ) 访问http://Docker宿主机IP:91
若自定义了版本号 需要在名称后追加版本号(默认latest) spring-cloud-docker:0.0.1
TIPS
需要注意的是,使用docker run命令创建容器时,会先检查本地是否存在指定镜像。如果本地不存在该名称的镜像,Docker就会自动从Docker Hub下载镜像并启动一个Docker容器。
docker create 新建一个容器但不启动 用法同docker run
docker ps 列出容器
-a 列出所有容器,包括已经停止的
表格含有七列
① CONTAINER_ID:表示容器ID。
② IMAGE:表示镜像名称。
③ COMMAND:表示启动容器时运行的命令。
④ CREATED:表示容器的创建时间。
⑤ STATUS:表示容器运行的状态。Up表示运行中,Exited表示已停止。
⑥ PORTS:表示容器对外的端口号。
⑦ NAMES:表示容器名称。该名称默认由Docker自动生成,也可使用docker run命令的–name选项自行指定
命令格式
docker ps [OPTIONS]
--all, -a false 列出所有容器,包括未运行的容器,默认只展示运行的容器
--filter, -f 根据条件过滤显示内容
--format 通过Go语言模板文件展示镜像
--last, -n -1 显示最近创建n个容器(包含所有状态)
--latest, -l false 显示最近创建的容器(包含所有状态)
--no-trunc false 不截断输出
--quiet, -q false 静默模式,只展示容器的编号
--size, -s false 显示总文件大小
docker logs 查看容器控制台信息
docker logs CONTAINER_ID
-f: 让 docker logs 像使用 tail -f 一样来输出容器内部的标准输出
docker inspect 查看容器/镜像的元素据
docker inspect [OPTIONS] NAME|ID [NAME|ID…]
-f :指定返回值的模板文件。
-s :显示总的文件大小。
-type :为指定类型返回JSON。
docker stop 停止容器
命令格式:
docker stop [OPTIONS] CONTAINER [CONTAINER...]
-t 10 强制杀死容器前等待时间,单位秒
docker stop 784fd3b294d7 (其中784fd3b294d7 是容器ID,当然也可使用docker stop 容器名称 来停止指定容器。)
docker kill 强制停止容器
docker kill
命令格式:
docker kill [OPTIONS] CONTAINER [CONTAINER...]
docker kill 784fd3b294d7
docker start 启动已停止的容器
使用docker run 命令,即可新建并启动一个容器。对于已停止的容器,可使用docker start 命令来启动。
docker start
命令格式:
docker start [OPTIONS] CONTAINER [CONTAINER...]
--attach, -a false 连接STDOUT/STDERR并转发信号
--checkpoint 从该检查点还原
--checkpoint-dir 使用自定义的检查点存储目录
--detach-keys 覆盖断开容器的关键顺序
--interactive, -i false 连接容器的STDIN
docker start 784fd3b294d7
docker restart 重启容器
docker restart === docker stor + docker start
docker nsenter 进入容器
找到容器进程的第一个PID
docker inspect --format “{{.State.Pid}}” 7bdb3998d44a
根据PID进入容器
nsenter --target 73636 --mount --uts --ipc --net --pid
docker rm 删除容器
使用docker rm 命令即可删除指定容器。前提是容器必须是停止运行的。
docker rm [OPTIONS] CONTAINER [CONTAINER...]
--force, -f false 通过SIGKILL信号强制删除正在运行中的容器
--link, -l false 删除容器间的网络连接
--volumes, -v false 删除与容器关联的卷
docker cp 用于容器与主机之间的数据拷贝
从主机往容器中拷贝
docker cp /www/runoob 容器ID:/www/
将容器中文件拷往主机
docker cp 容器ID:/www /tmp/