docker简介
Docker的三大核心概念:镜像、容器、仓库
镜像:类似虚拟机的镜像、用俗话说就是安装文件。
容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,
可以将其启动、开始、停止、删除、而这些容器都是相互隔离、互不可见的。
仓库:类似代码仓库,是Docker集中存放镜像文件的场所。
今天项目需要部署到Docker上去,那么就亲自来部署一把Docker咯。
Docker有两个版本:
- 社区版(CE)
- 企业版(EE)
Docker Community Edition(CE)非常适合希望开始使用Docker并尝试使用基于容器的应用的个人开发人员和小团队。
Docker企业版(EE)专为企业开发和IT团队而设计,他们可以在生产规模上构建,发布和运行关键业务应用程序。
比较以下Docker的社区版和企业版的区别
二、Docker的安装
请先访问Docker的官网获取相关的安装信息
简单介绍一下在CentOS上安装Docker。
前置条件:
64-bit 系统
kernel 3.10+
1.检查内核版本,返回的值大于3.10即可。
$ uname -r
2.使用 sudo 或 root 权限的用户登入终端。
3.确保yum是最新的
$ yum update
卸载旧版本
较旧版本的Docker被称为docker或docker-engine。如果已安装这些,请卸载它们以及相关的依赖项。
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
下面介绍两种方式安装docker
方式一(安装最新版):
# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# Step 2: 添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# Step 3: 更新并安装 Docker-CE
sudo yum makecache fast
sudo yum -y install docker-ce
# Step 4: 开启Docker服务
sudo service docker start
注意:其他注意事项在下面的注释中
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
# 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1
方式二(安装指定版本):
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
# Loading mirror speeds from cached hostfile
# Loaded plugins: branch, fastestmirror, langpacks
# docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
# docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
# docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
# Available Packages
# Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]
# 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。
# yum list docker-ce-selinux- --showduplicates | sort -r
# sudo yum -y install docker-ce-selinux-[VERSION]
# 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令
# 经典网络:
# sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
# VPC网络:
# sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
启动 Docker CE
建立 docker 用户组
默认情况下,docker
命令会使用 Unix socket 与 Docker 引擎通讯。而只有 root
用户和 docker
组的用户才可以访问 Docker 引擎的 Unix socket。出于安全考虑,一般 Linux 系统上不会直接使用 root
用户。因此,更好地做法是将需要使用 docker
的用户加入 docker
用户组。
建立 docker
组:
1 $ sudo groupadd docker
将当前用户加入 docker
组:
1 $ sudo usermod -aG docker $USER
docker加入开机启动
1 $ sudo systemctl enable docker
启动docker
2 $ sudo systemctl start docker
docker
通过运行hello-world
映像验证是否已正确安装。
$ sudo docker run hello-world
到此为止docker就完全安装好了。
基本命令
仓库相关操作
docker pull #从远程仓库拉取镜像到本地
docker push #推送本地镜像到远程仓库
docker search #在仓库搜索镜像
docker login #登录到官方仓库Docker Hub
docker logout #退出登录
镜像相关操作
docker build #从Dockerfile构建镜像
docker pull #同上
docker push #同上
docker history #显示镜像的历史信息
docker images #列出镜像
docker rmi #删除镜像
docker tag #给镜像打上tag标签
docker run #创建容器并启动容器
docker create #创建容器
docker commit #将修改后的容器生成镜像
docker load #从压缩包中加载镜像
docker import #从归档文件中创建镜像
docker save #将镜像保存到压缩文件
容器相关操作
docker attach #依附到一个正在运行的容器中
docker exec #进到正在运行的容器中执行命令
docker cp #在容器和本地系统间复制文件
docker update #将一个容器内所有的进程从暂停状态中恢复
docker ps #列出主机中的容器
docker port #查找一个nat到私有网口的公共口
docker top #查看一个容器中正在运行的进程信息
docker logs #查看日志文件
docker diff #检查容器内文件系统的修改
docker status #输出容器的资源使用统计信息
docker wait #阻塞直到容器终止
docker start #启动已创建的容器
docker pause #暂停运行中的容器
docker unpause #使暂停的容器恢复运行
docker stop #停止容器运行
docker rename #容器改名
docker restart #容器重启
docker kill #关闭运行中的容器
docker rm #删除容器
docker export #导出容器内容为tar包
docker run #同上
docker create #同上
docker commit #同上
其他基本命令
docker events #从服务端获取实时的事件
docker info #查看系统相关信息
docker inspect #显示Docker对象的具体配置信息,包括容器,镜像,网络等
docker version #输出Docker的版本信息
管理命令
docker container #容器管理
docker image #镜像管理
docker network #网络管理
docker node #节点管理
docker plugin #插件管理
docker secret #管理敏感数据及普通服务配置项
docker service #服务管理
docker stack #栈管理
docker swarm #集群管理
docker system #管理系统信息
docker volume #卷管理
有不足之处,欢迎各位道友指正。
參考資料
docker官网
阿里云Docker CE 镜像源站