Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它。Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了。
可见,在宿主机的操作系统上,有一个 Docker 服务在运行(或者称为“Docker 引擎”),在此服务上,我们可开启多个 Docker 容器,而每个 Docker 容器中可运行自己所需的应用程序,Docker 容器之间也是相互隔离的,同样地,都是占用的宿主机的硬件与网络资源。
1、持续集成
在项目快速迭代情况下,轻量级容器对项目快速构建、环境打包、发布等流程就能提高工作效率。
2、版本控制
每个镜像就是一个版本,在一个项目多个版本时可以很方便管理。
3、可移植性
容器可以移动到任意一台Docker主机上,而不需要过多关注底层系统。
4、标准化
应用程序环境及依赖、操作系统等问题,增加了生产环境故障率,容器保证了所有配置、依赖始终不变。
5、隔离性与安全
容器之间的进程是相互隔离的,一个容器出现问题不会影响其他容器。
#更新yum命令
yum update
yum install docker
#如果安装失败提示缺少依赖则参照一下步骤安装docker-ce版本
# 安装依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2 # 添加Docker软件包源 yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo # 更新yum包索引 yum makecach fast # 安装Docker CE yum install docker-ce
#查看docker是否安装成功
docker version
#启动
systemctl start docker
1、查看镜像 docker search xxx(如:jdk、mysql、rabbitmq....)
2、拉取镜像 docker pull 镜像名称
完成后....
3、初始化容器(每个镜像启动容器都不同,可百度查阅...)
例如:
#redis初始化容器
docker run
-p 6379:6379 -v /usr/data/redis/data:/data --restart=always --name redis -d redis:4.0.8 redis-server --appendonly yes --requirepass "lcl123456"
4、执行就会自动启动拉取的镜像
六、Docker命令
查询镜像文件
docker search 文件名(mysql tomcat)
拉取镜像
docker pull name(文件名):tag(对应的版本) 如果没有写标签,默认使用latest(最近的)
查看拉取的镜像文件
docker images | grep tomcat
查看所有镜像文件
docker images
删除拉取的镜像(根据镜像ID进行删除)
docker rmi image-id
查看正在运行容器
docker ps
查看所有的容器(启动过的历史容器)
docker ps –a
查看最后一次运行的容器
docker ps –l
查看停止的容器
docker ps -f status=exited
启动docker
systemctl start docker
重启docker
systemctl restart docker
查看docker状态
systemctl status docker
停止docker
systemctl stop docker
开机自启
systemctl enable docker
卸载
yum remove docker-ce rm -rf /var/lib/docker