Docker安装前提
文档地址:https://docs.docker.com/ 。
Docker支持的CentOS版本:CentOS 7 (64-bit)、CentOS 6.5 (64-bit) 或更高的版本。
目前,CentOS 仅发行版本中的内核支持 Docker。
Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上。
Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位、系统内核版本为 2.6.32-431 或者更高版本。
#查看自己的内核
#uname命令用于打印当前系统相关信息(内核版本号、硬件架构、主机名称和操作系统类型等)。
[root@localhost ~]# uname -r
3.10.0-1127.19.1.el7.x86_64
Docker的基本组成
-
镜像(image):Docker 镜像就好比是一个模板,可以通过这个模板来创建容器服务,Tomcat镜像 → run → Tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
-
容器(container):Docker 利用容器技术,独立运行一个或者一 个组应用,通过镜像来创建的。
-
仓库(repository):仓库就是存放镜像的地方。仓库分为公有仓库和私有仓库。Docker Hub(默认是国外的),我们可以配置容器服务器的镜像加速。
CentOS7下安装Docker
CentOS安装Docker 文档:https://docs.docker.com/install/linux/docker-ce/centos/。
# 确定是centos7的版本
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
#yum安装gcc相关(确定centos7能上外网)
yum -y install gcc
yum -y install gcc-c++
#卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
#安装docker(不指定版本会默认下载最新版)
yum install docker
# 启动docker
systemctl start docker
# 设置开机自启
systemctl enable docker
#查看docker版本
docker version
测试运行hello-world
docker run hello-world
(由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。)
如果报178错误,说明SELinux为启动状态,需要临时关闭。
setenforce 0
表示临时关闭,setenforce 1
表示临时开启。
正常运行hello-world
测试运行Nginx
#将80端口映射为8080,或者80:80还是原先的80端口,不可以不写。
docker run -p 8080:80 -d docker.io/nginx
卸载Docker
systemctl stop docker
yum -y remover docker
rm -rf /var/lib/docker
配置阿里云镜像加速
Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地,Docker 会从镜像仓库下载(默认是Docker Hub 公共注册服务器中的仓库)。
通过网址可以找到目标镜像:https://hub.docker.com/explore/。
可以使用docker pull 命令来从仓库获取所需要的镜像。
下面的例子将从Docker Hub 仓库下载一个Ubuntu 18.04 操作系统的镜像。
# 该命令实际上相当于sudo docker pull registry.hub.docker.com/ubuntu:18.04
docker pull ubuntu:18.04
我们发现下载速度很慢。因为hub.docker.com
这个网站是国外的,我们可以配置阿里云的镜像加速。
1、登录阿里云,搜索 容器镜像服务
找到后如下图:
2、编辑配置文件
#编辑配置文件
vi /etc/docker/daemon.json
#拷贝下面的内容/etc/docker/daemon.json中
{ "registry-mirrors": ["https://32e0cwh7.mirror.aliyuncs.com"] }
#刷新docker的配置
sudo systemctl daemon-reload
sudo systemctl restart docker
Docker镜像的相关常用命令
#列出所有镜像
docker images
#根据镜像id删除镜像
docker rmi 镜像id
docker run命令
Docker底层原理
Docker 是一个Client-Server 结构的系统,Docker 守护进程运行在主机上, 然后通过 Socket 连接从客户端访问,守护进程从客户端接受命令并管理运行在主机上的容器。 容器,是一个运行时环境,就是我们前面说到的集装箱。
评论区