1.安装环境为建议纯净环境,如果非纯净有可能会安装不成功
2.安装依赖包
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
3.设置阿里云镜像
因为docker默认官方的镜像源地址是国外的,速度非常慢,这里将数据源设置为阿里云的镜像。当然还有其他的镜像源,在这里就不做介绍了。
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装 Docker-CE
Docker CE(Community Edition) 社区免费版,属于docker引擎。
sudo yum install docker-ce
4.启动 Docker-CE
添加启动Docker服务
#设置开机自启
sudo systemctl enable docker
#启动
sudo systemctl start docker
5.为 Docker 建立用户组
docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。
1. 建立 Docker 用户组
sudo groupadd docker
2. 添加当前用户到 docker 组
sudo usermod -aG docker $USER
6.GUI 管理配置 (可选配置)
gui管理工具 有需要则可以安装使用,没有强制要求。
Portainer
官方地址:https://portainer.io/install.html (国外地址如果不能访问建议翻墙)
安装命令:
docker volume create portainer_data
#端口有需要可以更改
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
然后通过自己的IP+9000端口访问
下面能看到自己的容器、镜像等。
docker基本介绍
Docker就是一个容器引擎,整体来说就是让配置整套环境更加方便,可以达到一键部署的效果。
说白了不用Docker我们也能搭建环境,部署项目,但是比较费劲,步骤比较繁琐,而且如果要把项目迁移到另外一台机器上,还将相关的软件重头到尾安装-遍,而且有时候机器的操作系统版本不一样,即便按照同样的配置步骤也有可能出现软件的不兼容,而且在改配置文件的时候可能会因为手误导致配置出错,多个逗号,少个分号啥的,这些都比较耗费时间,也降低了工作效率。
docker中最重要的就是镜像和容器这两个东西。镜像可以理解成以前的光盘,这个光盘上包含了我们所有需要的软件及其相关环境;通过docker run启动镜像后就有了容器。在执行docker run时候可以通过-d设置为以后台程序的方式运行,通过-p指定容器端口号到宿主主机端口号的映射,在最后跟上要启动的镜像的名字。
之后可以通过docker ps查看启动的容器对应的进程信息,通过docker stop容器id来停止容器,通过docker start容器id来启动已经停止的容器。
在项目中还可以通过docker-compose进行服务编排,说的简单点一个项目想要跑起来需要数据库,需要redis,需要nginx等等,我们可以通过这种服务编排将整个项目所需要的所有软件对应的镜像及其相关信息都写到一个YAML格式的文件中,这样在部署项目的时候直接通过docker-compose up启动服务,通过docker-compose ps查看启动的进程信息,通过docker-compose down来停止服务。就可以达到一键部署的效果。
docker镜像相关命令
查看本机镜像:docker images
搜索镜像:docker search 镜像名
下载镜像:docker pull 镜像名
删除镜像:docker rmi 镜像id
docker容器相关命令
查看容器:docker ps
创建并启动容器:docker run -it -d 镜像名 /bin/bash
启动容器: docker start 容器id或容器名
停止容器:docker stop 容器id或容器名
重启容器:docker restart 容器id或容器名
强制停止容器:docker kill 容器id或容器名
进入容器: docker exec -it 容器id或容器名 /bin/bash,打开一个新的终端
docker attach 容器id或容器名,不会打开新的终端
查看容器日志: docker logs -f -t 容器id或容器名
查看容器内部的进程:docker top 容器id或容器名