说明:本教程使用的系统是:centos7
1.Docker 介绍
Docker是一个开源的应用容器引擎
2.Docker 安装与启动
安装前提:docker需要Linux内核是3.10以上:uname -r 查看Linux内核
安装指令:yum install docker
启动指令:systemctl start docker.service
停止指令:systemctl enable docker.service
查看版本:docker version
设置docker开机启动:systemctl enable docker
3.Docker 相关概念
docker daemon:运行在宿主机上,Docker守护进程,用户通过Docker client(Docker命令)与Docker daemon交互 docker主机(Host): 一个物理或者虚拟的机器用于执行 Docker 守护进程和容器 docker客户端(Client): 客户端通过命令行或者其他工具使用 Docker [API](https://docs.docker.com/reference/api/docker_remote_api)与 Docker 的守护进程通信 docker镜像(Images): Docker 镜像是用于创建 Docker 容器的 模板 docker容器(Container): 容器是独立运行的一个或一组应用 docker仓库(Registry): Docker仓库用来保存镜像(Images),可以理解为代码控制中的代码仓库
4.Docker 组成
Docker image :镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载 Docker container :容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。 Docker hub/registry :共享和管理Docker镜像,用户可以上传或者下载上面的镜像,[官方地址](https://registry.hub.docker.com/),也可以搭建自己私有的[Docker Registry](https://registry.hub.docker.com)
5.Image 常用指令
操作 | 指令 | 说明 |
---|---|---|
检索镜像 | docker search mysql | 查询image |
拉取镜像 | docker pull docker.io/mysql:tag | tag可选,默认;latest,可以全名,也可以简写 |
镜像列表 | docker images | 本地镜像列表 |
删除镜像 | docker rmi image-id | 删除本地docker image |
6.container 常用指令
操作 | 指令 | 说明 |
---|---|---|
运行容器 | run --name test-tomcat tomcat:latest -d | 后台运行 Tomcat 的 latest 版本 |
查看运行中的容器 | docker ps | -a 全部 |
停止容器 | docker stop name/container-id | |
删除容器 | docker rm name/container-id | |
启动容器 | docker start name/container-id | |
端口映射 | docker run --name tomcat-9000 -p 9000:8080 -d docker.io/tomcat:latest | 顺序:自己指定的:镜像的端口 |
查看日志 | docker logs name/container-id |
7.Docker 的 Hello World
1) 查询镜像: docker search hello INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/hello-world Hello World! (an example of minimal Docker... 666 [OK] 2) 拉取镜像:docker pull docker.io/hello-world 或者去掉前缀,直接 docker pull hello-world 成功提示: Using default tag: latest Trying to pull repository docker.io/library/hello-world ... latest: Pulling from docker.io/library/hello-world d1725b59e92d: Pull complete Digest: sha256:0add3ace90ecb4adbf7777e9aacf18357296e799f81cabc9fde470971e499788 Status: Downloaded newer image for docker.io/hello-world:latest3)检查镜像:docker iamges4) 启动容器:docker run hello-world 出现:Hello from Docker!,运行成功5)删除容器: 查询容器ID : docker ps -a 删除容器: docker rm 81ff810918d36) 删除镜像 查询镜像: docker images 删除镜像: docker rmi 4ab4c602aa5e
8.温馨提示
如果镜像下载慢,可以使用镜像加速
使用方法:docker pull registry.docker-cn.com/library/ubuntu:16.04
作者:移动的红烧肉
链接:https://www.jianshu.com/p/3898dd19244f