Docker
版本
较旧的 Docker 版本称为 docker 或 docker-engine 。如果已安装,请卸载它们以及相关的依赖项
Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。
社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。
社区版按照stable和edge两种方式发布,每个季度更新stable版本。
官方文档:docs.docker.com/engine/inst…
简介
一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验
作用
解决了运行环境和配置问题软件容器,方便做持续集成并有助于整体发布的容器虚拟化技术
安装前提
- CentOS7:要求64为系统,同时内核版本3.10及以上
- CentOS6.5(64 bit)及以上版本:要求64为系统,同时内核版本2.6.32-431及更高版本
组成
- 镜像:镜像用来创建Docker容器,一个镜像可以创建多个Docker容器
- 容器:容器是镜像创建的实例,是独立运行的一个或者一组应用。可以被启动,开始,停止,删除。每个容器都是相互隔离的,保证安全的平台
- 仓库:集中存放镜像文件的场所。
安装步骤
-
检查linux内核版本,必须是3.10及以上
uname -r如果不是,需要更新
yum update -
安装所需的软件包
yum install -y yum-utils device-mapper-persistent-data lvm2 -
设置稳定的仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo -
安装最新版本的Docker CE和containerd
yum install docker-ce docker-ce-cli containerd.io -
启动docker
systemctl start docker 查看版本 docker -v -
开机启动docker
systemctl enable docker -
停止docker
systemctl stop docker
修改镜像源
国内从DockerHub拉取镜像有时会比较慢,此时可以配置镜像加速器。
Docker官网提供的中国镜像库: :registry.docker-cn.com
CentOS7
对于使用 systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):
{
"registry-mirrors" : [
"https://registry.docker-cn.com",
"https://docker.mirrors.ustc.edu.cn",
"http://hub-mirror.c.163.com",
"https://cr.console.aliyun.com/"
]
}
之后重新启动服务:
sudo systemctl restart docker.service
帮助命令
-
查看版本
docker --version -
显示 Docker 系统信息,包括镜像和容器数
docker info -
查看docker help信息
docker --help
镜像操作
- 检索
docker search 关键字 eg: docker search mysql - 拉取
docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest tag可在DockerHub官网中查看
-
查看镜像
docker images查看本地下载的所有镜像
-
删除镜像
docker rmi image-id删除本地指定的镜像
容器操作
-
运行镜像
docker run --name container-name -d image-name --name: 自定义容器的名字(可选) -d:后台运行 image-name:指定的镜像模板不同镜像的启动命令不同,具体命令参考Docker官网中镜像中的描述
-
查看运行的容器
docker ps -
停止容器
docker stop container-id -
查询当前容器: docker container ls -all
-
查看所有的容器(包括所有运行和未运行的)
docker ps -a -
启动容器
docker start container-id -
删除容器(必须是停止状态)
docker rm container-id -
查看防火墙是否关闭
service firewalld status -
查看防火墙状态
firewall-cmd --state -
禁止防火墙开机启动
systemctl disable firewalld.service -
关闭防火墙
systemctl stop firewalld.service -
查看容器日志
docker logs container-name/container-id