常用命令
1、辅助命令
# 1.安装完成辅助命令
docker version -------------------------- 查看docker的信息
docker info -------------------------- 查看更详细的信息
docker --help -------------------------- 帮助命令
2、Images 镜像命令
# 1.查看本机中所有镜像
docker images -------------------------- 列出本地所有镜像
-a 列出所有镜像(包含中间映像层)
-q 只显示镜像id
# 2.搜索镜像
docker search [options] 镜像名 ------------------- 去dockerhub上查询当前镜像
-s 指定值 列出收藏数不少于指定值的镜像
--no-trunc 显示完整的镜像信息
# 3.从仓库下载镜像
docker pull 镜像名[:TAG|@DIGEST] ----------------- 下载镜像
例: (1)docker pull nginx ---------------将默认拉取最新版等于docker pull nginx:latest命令
(2) docker pull nginx:1.11.1 ---------------拉取指定版本的nginx
# 4.删除镜像
docker rmi 镜像名 -------------------------- 删除镜像
-f 强制删除
3、Contrainer 容器命令
再来回顾一次docker架构图
上一节课我们看了镜像的一些基本操作,下面我们来看看容器的操作。
在docker中主要用到的就是容器。
容器的基本概念就是:它就是应用运行的一个实例,比如我日后下载了nginx镜像,我用docker run nginx 就是运行了一个正在跑起来的nginx服务。
3.1、基本命令(容器外操作)
# 1.运行容器
docker run 镜像名 -------------------------- 镜像名新建并启动容器
--name 别名为容器起一个名字
-d 启动守护式容器(在后台启动容器)
-p 映射端口号:原始端口号 指定端口号启动
ps:--name需要写在-p之前
例:docker run -d -p 80:80 nginx ----------代表启动nginx并把容器内部的80端口映射到主机centos7的80端口,此时会给我们返回一串字符串,这就是当前容器的id
现在去访问192.168.0.103(主机ip) 就可以看到nginx服务提示了
# 2.查看运行的容器
docker ps -------------------------- 列出所有正在运行的容器
-a 正在运行的和历史运行过的容器
-q 静默模式,只显示容器编号
# 3.停止|关闭|重启容器
(容器id可以只输入一部分,能识别出来就行)
docker start 容器名字或者容器id --------------- 开启容器
docker restart 容器名或者容器id --------------- 重启容器
docker stop 容器名或者容器id ------------------ 正常停止容器运行
docker kill 容器名或者容器id ------------------ 立即停止容器运行
# 4.删除容器
docker rm -f 容器id和容器名
docker rm -f $(docker ps -aq) -------------------------- 一次性删除所有容器
# 5.查看容器内进程
docker top 容器id或者容器名 ------------------ 查看容器内的进程
# 6.查看查看容器内部细节
docker inspect 容器id ------------------ 查看容器内部细节
# 7.查看容器的运行日志
docker logs [OPTIONS] 容器id或容器名 ------------------ 查看容器日志
-t 加入时间戳
-f 跟随最新的日志打印
--tail 数字 显示最后多少条
3.2、进阶命令(容器内数据交互)
centos ----> docker(引擎) ----> mynginx(容器)
# 1.进入容器内部
docker exec [options] 容器id 容器内命令 ------------------ 进入容器执行命令
-i 以交互模式运行容器,通常与-t一起使用
-t 分配一个伪终端 shell窗口 /bin/bash
例如:docker exec -it 8151 /bin/bash
# 2.容器内安装软件
apt-get update
apt-get install 安装包名称
# 3.修改容器内文件
vim ...
# 4.退出容器
exit 退出容器
# 5.将容器打包为新的镜像
docker commit -a="作者" -m="描述信息" 容器ID 目标镜像名称:TAG
# 6.从容器中复制文件到宿主机目录中
docker cp 容器id:容器内资源路径 宿主机目录路径 ----------------- 将容器内资源拷贝到主机上
# 7.设置容器和宿主机共享目录
docker run -it -v /宿主机的绝对路径:/容器内的路径:ro(只读) 镜像名
注意: 宿主机路径必须是绝对路径,宿主机目录会覆盖容器内目录内容
例如:docker run -d -p 80:80 -v /root/home:/usr/share/nginx/html nginx
运行 docker inspect 容器id 命令 检查json串里有没有以下内容,如果有则证明卷挂载成功。
"Mounts": [
{
"Type": "bind",
"Source": "/root/home",
"Destination": "/usr/share/nginx/html",
"Mode": "",
"RW": true,
"Propagation": "rprivate"
}
]
# 8.打包镜像
docker save 镜像名或id -o 名称.tar
# 9.载入镜像
docker load -i 名称.tar