一、简介
Docker是一个基于go语言的开源的应用容器引擎,可以将开发者的应用及依赖包打包到一个可移植容器当中,然后发布到任何流行的Linux机器中,可以极大的减少开发人员的工作量,Docker也可以实现虚拟化
二、Docker安装
前提:
Docker自发布以来就变得非常火爆,目前Linux系统、windows系统和mac系统都支持docker,本文以Linux系统介绍Docker的安装及简单使用。
Docker的发布时间也没有多长时间,因此Linux对Docker的支持也有限制,仅支持64位,目前centos7已经支持docker,安装要求系统为64位,内核版本为3.10以上,对于centos6,安装要求需centos6.5或更高版本,同样系统为64位,docker仅支持64位,同时内核版本为2.6.32-431 或者更高版本。
可以使用uname -a 查询内核版本
博主的内核版本为3.10.0-862,为方便使用,安装的是centos7系统,如果是centos6还需要升级内核版本,稍显麻烦
Docker安装:
Docker有两个版本,Docker-ee和Docker-ce
Docker-ce是社区免费版,Docker-ee为企业版,需要收费,本文安装的为Docker-ce社区免费版
安装之前安装相应所需包依赖
yum -y install yum-utils device-mapper-persistent-data lvm2
下载docker-ce的yum源到/etc/yum.repos.d/下
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum安装docker-ce
docker安装完成,启动docker,查看docker版本信息
systemctl start docker
Docker安装成功
三、Docker使用
首先从最简单的hello-world开始
运行一个hello-world容器,本地最初没有hello-world镜像,会自动从远端docker hub拉取
docker run hello-world
使用docker images命令可查询当前本地主机上的镜像,我的机器上原来有拉取其它镜像会有点多,看到有hello-world镜像即为ok
docker images
删除镜像使用以下命令
docker rmi imagename<imageid>
删除成功
从远端docker hub拉取镜像
docker pull imagename<imageid>
查看本地镜像列表,拉取成功
拉取之前可以查询docker hub可拉取镜像列表
docker search imagename
第一个字段为imagename(镜像名字),第四个字段为official,是否为官方镜像,个人也可以把自己制作的镜像放到docker hub上,找到自己想要下载的镜像名字就可以拉取了。
运行一个新的container
docker run [-i -t -d -p -P -c] [--name]:在容器内运行一个应用程序
-t :在新容器内指定一个伪终端或终端
-i:允许你对容器内的标准输入进行交互
-d:以进程方式运行容器,让容器在后台运行
-p:设置端口
-P:将容器内部使用的网络端口映射到我们使用的主机,就是让我们访问我们使用的主机就等同于访问到容器内部
-c:command,后面接命令
--name container name:指定容器名字
运行一个新的container并调用打印命令
docker run ubuntu:15.10 /bin/echo "Hello world"
运行一个交互式的container(容器)
docker run -it ubuntu:15.10 /bin/bash
可以发现已经进入到容器当中,退出使用exit或ctl+d
从远程docker hub拉取一个镜像
在后台运行一个新的container
docker run -P --name test1 -d training/webapp python app.py
查看当前运行容器详情
docker ps
查看容器端口
docker port containername<containerid>
可以看到容器test1的端口映射到了本机的32768,可以访问本机ip的32768端口来查看
查看容器日志
docker logs containername<containerid>
停止指定容器
docker stop containername<containerid>
再次运行该容器就可以使用
docker start containername<containerid>
查看指定容器内部运行进程
docker top containername<containerid>
查看历史启动的容器
docker ps -a
删除容器,容器必须处于停止状态
docker rm containername<containerid>
其它命令
为镜像添加新的标签
docker tag
查询容器ip
docker inspect containername<containerid>
先写这么多,后续补充