Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker核心组件以及安装
docker主机(HOST):安装了Docker程序的机器(Docker直接安装在操作系统上的)
docker仓库(Registry):用来保存打包好的软件镜像
docker镜像(Image):软件打好包的镜像,放到docker的仓库中
docker容器(Container):镜像启动后的实例(5个容器启动5次镜像)
docker的步骤:
1、安装Docker
2、去Docker仓库找到这个软件对应的镜像;
3、使用Docker运行的这个镜像,镜像就会生成一个容器
4、对容器的启动停止,就是对软件的启动和停止
Win10安装Docker
现在 Docker 有专门的 Win10 专业版系统的安装包,需要开启Hyper-V。
开启 Hyper-V
程序和功能
启用或关闭Windows功能
选中Hyper-V
1、安装 Toolbox
最新版 Toolbox 下载地址: https://www.docker.com/get-docker
点击 Get Docker Community Edition,并下载 Windows 的版本:
2、运行安装文件
双击下载的 Docker for Windows Installe 安装文件,一路 Next,点击 Finish 完成安装。
安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标,这表示 Docker 正在运行。
桌边也会出现三个图标,入下图所示:
我们可以在命令行执行 docker version 来查看版本号,docker run hello-world 来载入测试镜像测试。
如果没启动,你可以在 Windows 搜索 Docker 来启动:
启动后,也可以在通知栏上看到小鲸鱼图标:
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是网易的镜像地址:http://hub-mirror.c.163.com。
新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。
请在该配置文件中加入(没有该文件的话,请先建一个):
{ "registry-mirrors": ["http://hub-mirror.c.163.com"] }
Linux系统安装Docker
2.查看centos内核版本。Docker要求centos的内核版本必须高于3.10。使用命令:uname -r 查看内核版本。如果低于3.10,使用命令:yum update 升级内核版本。
3.输入命令:yum install docker 。安装Docker
4.输入y确认安装
5.启动Docker。命令:systemctl start docter。
6.查看docker版本号。命令:docker -v
7.开机启动docker。命令:systemctl enable docker。
8.停止docker。命令:systemctl stop docker
Docker镜像的使用
当运行容器时,使用的镜像如果在本地中不存在,docker 就会自动从 docker 镜像仓库中下载,默认是从 Docker Hub 公共镜像源下载。
1.我们可以使用 docker images 来列出本地主机上的镜像。
各个选项说明:
-
REPOSITORY:表示镜像的仓库源
-
TAG:镜像的标签
-
IMAGE ID:镜像ID
-
CREATED:镜像创建时间
-
SIZE:镜像大小
2.获取一个新的镜像
当我们在本地主机上使用一个不存在的镜像时 Docker 就会自动下载这个镜像。如果我们想预先下载这个镜像,我们可以使用 docker pull 命令来下载它。
例如:docker pull ubuntu:13.10(冒号后面的为tag)
3.查找一个镜像
可以从 Docker Hub 网站来搜索镜像,Docker Hub . 也可以使用 docker search 命令来搜索镜像。
4.删除一个镜像
可以删除一个已经存在的镜像,命令:docker rmi image-id
Docker容器操作
软件镜像---运行镜像----产生一个容器。
步骤:
- 搜索镜像 。 docker search
- 下载镜像。 docker pull
- 根据镜像启动容器 。 docker run --name mytomcat -d -P tomcat:latest (-d 后台运行; -P 将容器内部使用的网络端口映射到我们使用的主机上。主机端口:容器内部端口)
- 查看运行的容器 。 docker ps
- 查询所有的容器,包括运行的和停止的。 docker ps -a
- 停止运行中的容器。 docker stop NAMES 或者 docker stop container-id
- 开始一个容器。 docker start container-id
- 删除一个容器。 docker rm container-id
- 查看容器日志。 docker logs NAMES 或者 docker logs container-id
Docker安装Mysql
1.docker 中下载 ==> mysql docker pull mysql
2.启动 ==> docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql (需要对外开放和设置密码)
3.进入容器 ==> docker exec -it mysql bash
4.登录 ==> mysql mysql -u root -p