目录
一, 百度百科
二, Docker 安装
1, 卸载 Docker
2, 需要的安装包
3, 设置镜像仓库
4, 安装 Docker 相关
5, 启动 Docker
6, 使用 docker version 查看版本
7, 启动 hello world 镜像
8, 卸载
三, run 的流程和 docker 原理
1,run 的流程
2,docker 原理
3,docker 为何比 VM 快?
四, Docker 镜像常用命令
1, 基本命令
2, 搜索镜像
3, 下载镜像
4, 删除镜像
五, docker 容器常用命令
1, 下载容器
2,docker run [可选参数] image
3, 列出所有的运行的容器
4, 退出容器
5, 删除容器
6, 启动和停止容器
7, 进入当前正在运行的容器
8, 从容器内拷贝文件到主机
9, 其它常用命令
六, docker 常用命令小结
一, 百度百科
Docker 是一个开源的应用容器引擎, 让开发者可以打包他们的应用以及依赖到一个可移植的镜像中, 然后发布到任何流行的 Linux 或 Windows 机器上, 也可以实现虚拟化. 容器是完全使用沙箱机制, 相互之间不会有任何接口.
一个完成的 docker 有以下几个部分组成:
DockerClient 客户端
Docker Daemon 守护进程
Docker Image 镜像
Docker Container 容器
二, Docker 安装
1, 卸载 Docker
- sudo yum remove docker \
- docker-client \
- docker-client-latest \
- docker-common \
- docker-latest \
- docker-latest-logrotate \
- docker-logrotate \
- docker-engine
2, 需要的安装包
yum install -y yum-utils
3, 设置镜像仓库
- yum-config-manager \
- --add-repo \
- https://download.docker.com/linux/centos/docker-ce.repo
用国内的
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
更新软件包索引
yum mackecache fast
4, 安装 Docker 相关
ce 社区版, ee 企业版, 推荐安装企业版
yum install docker-ce docker-ce-cli containerd.io
5, 启动 Docker
systemctl start docker
6, 使用 docker version 查看版本
7, 启动 hello world 镜像
docker run hello-world
8, 卸载
- yum remove docker-ce docker-ce-cli containerd.io
- rm -rf /var/lib/docker
- rm -rf /var/lib/containerd
三, run 的流程和 docker 原理
1,run 的流程
2,docker 原理
3,docker 为何比 VM 快?
Docker 有着比虚拟机更少的抽象层
docker 利用的是宿主机的内核, VM 需要的是 Guest OS.
四, Docker 镜像常用命令
1, 基本命令
- docker version
- docker info
docker 命令 --help #万能命令
docker images
解释:
REPOSITORY: 镜像的仓库源
TAG: 镜像的标签
IMAGE ID: 镜像的 ID
CREATE: 镜像的创建时间
SIZE: 镜像的大小
可选项
-a: 列出全部的镜像
-q: 只显示镜像的 ID
2, 搜索镜像
docker search
可选项
--filter-STATUS-3000 #搜索大于 3000 的
3, 下载镜像
指定版本下载
docker pull 镜像名 [:tag]
4, 删除镜像
docker rmi -f 镜像 id
五, docker 容器常用命令
1, 下载容器
docker pull CentOS
2,docker run [可选参数] image
参数说明:
--name 容器名称
-d 后台方式运行
-it 使用交互方式运行, 进入容器查看内容 (例如: docker run -it CentOS /bin/bash)
-p 指定容器的端口号 -p 8080:8080(主机端口: 容器端口)
3, 列出所有的运行的容器
docker ps [参数]
-a 列出当前正在运行的容器
-n 显示最近创建的容器
-q 只显示容器的编号
例如: docker ps -aq 显示当前正在运行的容器的编号
4, 退出容器
exit
5, 删除容器
docker rm 容器 id 不能删除正在运行的容器
docker rm -f $(docker ps -a) 删除所有的容器
docker ps -a -q|xargs docker rm 删除所有的容器
6, 启动和停止容器
docker start 容器 id
docker restart 容器 id
docker stop 容器 id
docker kill 容器 id 强制停止
7, 进入当前正在运行的容器
方式一: docker exec -it 容器 id /bin/bash 进入容器后开启一个新的终端 (常用)
方式二: docker attach 容器 id 进入容器当前正在执行的终端
8, 从容器内拷贝文件到主机
docker cp 容器 id: 容器内路径 主机路径
例如: docker cp 容器 id:/home/test.java /home
9, 其它常用命令
(1) 后台启动容器 -d
(2) 查看日志命令
docker logs --help
显示指定行数的日志:
docker logs -tf --tail 10 容器 id
-f: 内容,,,-t: 时间
例如: 循环执行
docker run -d CentOS /bin/sh -c "while;do echo hello world;sleep 1;done"
(3) 显示容器中的进行信息
查看 docker 内部的进程信息: docker top 容器 id
(4) 查看容器的元数据
docker inspect --help
显示容器的所有信息:
docker inspect 容器 id
六, docker 常用命令小结
常用命令 | 命令含义 |
attach | 当前 shell 下 attach 连接指定运行镜像 |
build | 通过 Dockerfile 定制镜像 |
commit | 提交当前容器为新的镜像 |
cp | 从容器中拷贝指定文件或者目录到宿主机中 |
create | 创建一个新的容器,同 run 但不启动容器 |
diff | 查看 docker 容器变化 |
events | 从 docker 服务获取容器实时事件 |
exec | 在已存在的容器上运行命令 |
export | 导出容器的内容流作为一个 tar 归档文件 (对应 import) |
history | 展示一个镜像形成历史 |
images | 列出系统当前镜像 |
import | 从 tar 包中的内容创建一个新的文件系统映像 (对应 export) |
info | 显示系统相关信息 |
inspect | 查看容器详细信息 |
kill | 强制停止指定 docker 容器 |
load | 从一个 tar 包中加载一个镜像 (对应 save) |
login | 注册或者登陆一个 docker 源服务器 |
logout | 从当前 Docker registry 退出 |
logs | 输出当前容器日志信息 |
pause | 暂停容器 |
port | 查看映射端口对应的容器内部源端口 |
ps | 列出容器列表 |
pull | 从 docker 镜像源服务器拉取指定镜像或者库镜像 |
push | 推送指定镜像或者库镜像至 docker 源服务器 |
rename | 重命名容器 |
restart | 重启运行的容器 |
rm | 移除一个或者多个容器 |
rmi | 移除一个或多个镜像 (无容器使用该镜像才可以删除,否则需要删除相关容器才可以继续或者 - f 强制删除) |
run | 创建一个新的容器并运行一个命令 |
save | 保存一个镜像为一个 tar 包 (对应 load) |
search | 在 docker hub 中搜索镜像 |
start | 启动容器 |
stats | 统计容器使用资源 |
stop | 停止容器 |
tag | 给源中镜像打标签 |
top | 查看容器中运行的进程信息 |
unpause | 取消暂停容器 |
version | 查看容器版本号 |
wait | 截取容器停止时的退出状态值 |
来源: https://blog.csdn.net/guorui_java/article/details/115874500