1.Docker简介
Docker 是一个开源的应用容器引擎,基于 Go语言 并遵从Apache2.0协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,便可以实现虚拟化。Docker改变了虚拟化的方式,使开发者可以直接将自己的成果放入Docker中进行管理。方便快捷已经是 Docker的最大优势,过去需要用数天乃至数周的 任务,在Docker容器的处理下,只需要数秒就能完成。
2.安装Docker
2.1Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
通过 # names -r 命令查看你当前的内核版本
# names -r
安装命令
# sudo yum update
# yum -y install docker
2.2.启动Docker
# systemctl start docker
# systemctl enable docker.service //设为开机启动
2.3.查看版本
# docker version
出现以下结果说明成功
2.4.设置镜像
由于国外的镜像下载速度很慢,我们可以用国内的镜像
# vi /etc/docker/daemon.json
添加
{
"registry-mirrors": ["https://registry.docker-cn.com"],
"live-restore": true
}
按esc->:wq保存退出。
3.Docker命令
3.1.拉取docker镜像
- Docker image:镜像是只读的,镜像中包含有需要运行的文件。镜像用来创建container,一个镜像可以运行多个container;镜像可以通过Dockerfile创建,也可以从Docker hub/registry上下载。
- Docker container:容器是Docker的运行组件,启动一个镜像就是一个容器,容器是一个隔离环境,多个容器之间不会相互影响,保证容器中的程序运行在一个相对安全的环境中。
# docker pull imageName//imageName是需要拉取的文件名
这里我们拉取了一个helloword镜像
# docker pull library/hello-world
3.2.查询删除docker镜像(image)
image 文件是通用的,一台机器的 image 文件拷贝到另一台机器,照样可以使用。一般来说,为了节省时间,我们应该尽量使用别人制作好的 image 文件,而不是自己制作。即使要定制,也应该基于别人的 image 文件进行加工,而不是从零开始制作。
# docker images
删除镜像
# docker image rm [imageName]
3.3.运行镜像文件
# docker run hello-world
# -d: 后台运行容器,并返回容器ID;
# --name="nginx-lb": 为容器指定一个名称,可根据名称删除;
docker run -d --name hello-world1 hello-world
3.4.查看容器
# docker ps//查看当前哪些容器在运行
# docker ps -a//查看所有容器
3.5.启动,停止,重启容器
docker start container_name/container_id
docker stop container_name/container_id
docker restart container_name/container_id
3.6.后台启动一个容器,如果想进入这个容器
一.普通进入方式
docker attach container_name/container_id
二.这种方法进入更好,相对一第一种,一行操作命令,如下
# docker exec -it containerName/containerId bash
3.7.退出容器
一.退出不关闭容器:
Ctrl+P+Q
二.退出关闭容器:
# exit
3.8.删除容器
docker rm container_name/container_id
3.9.查看当前docker信息
docker info
3.10下载镜像
docker pull centos:latest
将下载centos仓库下所有的镜像。
参考