1. Docker简介
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- DockerContainer容器
2. Docker常用操作(docker xxx --help 查看xxx命令详情
)
2.1 镜像
1. 镜像搜索
docker search centos
# 搜索centos镜像
2. 镜像下载
docker pull centos
# 默认拉取官方最新版本
docker pull centos:tag
#拉取指定版本,tag为指定版本
3. 查看本地镜像
docker images
4. 删除镜像
docker rmi xxx
# 删除单个镜像 xxx可以是镜像名称或者镜像ID 默认是删除最新版本
docker rmi xxx xxx
# 删除多个镜像
docker rmi xxx:tag
# 删除指定版本
5.镜像的导入和导出
docker load [OPTIONS]
# 从导出的本地文件中再导入到本地镜像库
docker save [OPTIONS] IMAGE [IMAGE...]
#导出镜像到本地文件
6. 从容器创建镜像
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a
:提交的镜像作者;
-c
:使用Dockerfile指令来创建镜像;
-m
:提交时的说明文字;
-p
:在commit时,将容器暂停。
7. 从容器创建镜像
docker build [OPTIONS] PATH | URL | -
# 使用Dockerfile创建镜像
2.2 容器
docker run的命令格式
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-a stdin
: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d
: 后台运行容器,并返回容器ID;
-i
: 以交互模式运行容器,通常与 -t 同时使用;
-t
: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name myname
: 为容器指定一个名称;
--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=[]
: 开放一个端口或一组端口;
--volume , -v
: 绑定一个卷
1. 从镜像创建并运行docker容器
docker run -it --name mycentos centos
#通过centos镜像创建一个名叫mycentos的容器并运行,进入伪终端, -it见docker run参数注解
docker run -id -p 80:80 -v /mydata:/data centos
#从centos镜像创建一个容器,将centos容器内部的data目录映射到本机的mydata目录,绑定容器的80端口到本机的8080端口,-id以交互模式并且后台运行容器,这里如果仅仅是-d这里的centos会立马运行结束
2. 容器的启动、停止、重启和删除
docker start xxx
# 启动这个容器,xxx可以是容器的名称或容器的ID
docker stop xxx
# 停止这个容器的运行
docker kill xxx
# 停止这个容器的运行
docker rm xxx
# 删除这个容器
docker restart xxx
# 命令会将一个运行态的容器终止,然后再重新启动它
3. 进入运行中的docker容器
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
# 进入运行中的容器
docker exec -it mycentos7 /bin/bash
# 进入容器mycentos7,输入exit
或使用ctrl+d
退出容器
4. 容器的导入和导出
docker export [OPTIONS] CONTAINER
# 要导出本地某个容器
docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
# 从容器快照文件中再导入为镜像
5. 获取容器/镜像的元数据
docker inspect xxx
# 获取容器/镜像的元数据
参考
Docker 命令大全
docker从入门到实战
docker教程
https://www.cnblogs.com/Zzbj/p/10284389.html#autoid-1-4-0