前言
docker是容器的代表,容器本质上是将程序隔离打包,docker解决了软件开发和运维差异性问题
官网上这样描述:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台
三大核心
-
镜像、仓库、容器。运行流程
docker 组件
- docker deamon:docker的守护进程,一个运行在宿主机的后台进程,通过docker客户端和它通信
- client:客户端,docker用户界面,接受命令和标识与docker deamon 通信
- images:镜像,是一个只读模板,包含创建docker容器的说明,可以运行docker镜像中的程序
- container:容器 ,镜像的可运行实例
- registry:集中存储和分发的镜像服务,可以包含多个docker仓库,docker hub 有大量的优秀镜像可以下载使用
yum安装
卸载就版本sudo yum -y remove docker
yum install -y yum-utils 设置yum源需要的utils工具
设置yum源官网参考
-
查看所有docker版本
yum -y install docker-engine 安装最新版, yum -y install docker-engine-<ersion>指定版本安装如yum -y install docker-engine-1.9.1
systemctl start docker 启动
-
开启远程api ,并systemctl daemon-reload
-
重启docker,如下如就可以远程调用
添加环境变量 DOCKER_HOST的值为tcp://ip:port,就和使用windows,maven等访问了
-
docker version
配置阿里云加速控制台地址
-
vi /etc/docker/daemon.json 写入阿里地址
或者使用网易风巢的镜像中心,更友好适合学习者网易风巢官网
搭建Harbor仓库参考文档修改80端口
把本地镜像推送到远程仓库,可以自已搭建死人的,也可以使用网易和阿里的,本人使用harbor。Harbor是由VMware公司开源的企业级的Docker Registry管理项目,它包括权限管理(RBAC)、LDAP、日志审核、管理界面、自我注册、镜像复制和中文支持等功能。
- 需要安装提前docker ,docker-composehttps://docs.docker.com/compose/install/#install-compose
- chmod +x /usr/local/bin/docker-compose 添加执行权限
- docker-compose -v 查看版本
- 下载harbor的二进制文件地址
卸载
- yum -y remove docker-engine
- rm -rf /var/lib/docker
docker常用命令
docker镜像常用命令
- docker search [name] 搜索docker hub 中的镜像
- docker pull [name] 下载docker Registry的镜像,也可从163上复制
- docker images 列出所有下载的镜像
- docker rmi [name] 删除
- docker rmi -f $name 强制删除
docker 容器常用命令
- docker run -d -p 91:80 nginx
docker run 参数
-d:后台运行
-p:指定端口映射
--network=bridge/host默认网桥/宿主机的网络 - docker ps 列出所有的容器
- docker stop/start/restart/kill id 停止启动容器
- docker attach id 进入id的容器内部
- docker rm 删除指定的容器
错误总结
-
使用 journalctl -u docker.service 查看启动日志,找到error一般为配置daemon.json或key.json错误在/etc/docker/下删除它们,删除/usr/lib/systemd/system/docker.sock 文件重新启动