欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > Docker基础安装与使用

Docker基础安装与使用

2025/1/22 13:00:44 来源:https://blog.csdn.net/jilo88/article/details/145289329  浏览:    关键词:Docker基础安装与使用

Docker 简介

Docker 是一个开源的容器化平台,用于开发、部署和运行应用程序。它通过将应用程序及其依赖项打包到一个轻量级的、可移植的容器中,实现了应用程序的快速部署和跨环境一致性。

Docker 的核心概念

容器(Container):是一个轻量级的、独立的、可执行的软件包,包含运行应用程序所需的所有内容:代码、运行时、系统工具、库和设置。容器与虚拟机不同,它共享主机操作系统的内核,因此更加轻量级和高效。

镜像(Image):是一个只读模板,用于创建容器。它包含应用程序运行所需的所有文件和配置,可以从 Docker Hub(公共镜像仓库)或私有仓库中拉取,也可以通过 Dockerfile 构建。

Dockerfile: 是一个文本文件,包含一系列指令,用于定义如何构建 Docker 镜像。

仓库(Repository):是用于存储和分发 Docker 镜像的地方。Docker Hub 是最常用的公共仓库。

卷(Volume):用于持久化容器中的数据。即使容器被删除,卷中的数据仍然保留。卷可以挂载到容器的指定目录,例如数据库数据目录。

网络(Network):Docker 提供了网络功能,允许容器之间或容器与外部网络进行通信。支持多种网络模式,如桥接网络(bridge)、主机网络(host)和覆盖网络(overlay)。

Docker安装

docker支持多个操作系统环境上安装,所支持的平台参见官方文档说明:https://docs.docker.com/engine/install/

1、查看服务器内核版本

Docker要求CentOS系统的内核版本高于3.10

uname -r

2、首先卸载已安装的Docker(如果有)

2.1 确保yum包更新到最新

yum update

2.2 清除原有的docker

如果你的操作系统没有安装过Docker , 就不需要执行卸载命令。

yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

3、安装依赖包

yum install -y yum-utils

4、建立Docker仓库 (映射仓库地址)

阿里docker镜像源:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

5、安装Docker引擎

yum install docker-ce docker-ce-cli containerd.io

6、启动docker

#启动docker命令
systemctl start docker
#设置开机自启命令
systemctl enable docker

其他命令

sudo systemctl start docker     #运行Docker守护进程
sudo systemctl stop docker      #停止Docker守护进程
sudo systemctl restart docker   #重启Docker守护进程
sudo systemctl enable docker    #设置Docker开机自启动
sudo systemctl status docker    #查看Docker的运行状态systemctl cat docker #查看Docker启动命令

7、测试 Docker 是否安装正常

docker run hello-world

8、问题处理

日志

[root@centos72 opt]# docker run hello-world
Unable to find image 'hello-world:latest' locally
docker: Error response from daemon: Get "https://registry-1.docker.io/v2/": read tcp 192.168.1.3:40736->52.1.184.176:443: read: connection reset by peer.
See 'docker run --help'.

原因:

问题是因为docker镜像源无法连接的问题,需要配置国内的docker源;修改/etc/docker/daemon.json文件,没有可以直接创建后,添加源

vim /etc/docker/daemon.json
{"registry-mirrors": ["https://registry.docker-cn.com","https://hub-mirror.c.163.com","https://mirror.ccs.tencentyun.com","https://docker.m.daocloud.io","https://mirrors.tuna.tsinghua.edu.cn","http://mirrors.aliyun.com","http://mirrors.163.com/centos","https://repo.huaweicloud.com"]
}

重启服务

sudo systemctl daemon-reload
sudo systemctl restart docker

再测试docker

docker run hello-world

Docker常用命令

#查看docker版本命令
docker version
#查看docker配置信息
docker info#查看所有创建的容器
docker ps -a
#删除所有已停止的容器
docker container prune
#强制删除指定容器(不删除绑定的卷)
docker rm -f NAME_XXX
#删除指定容器并删除绑定的卷
docker rm -v NAME_XXX
#启动指定名称容器
docker start NAME_XXX
#停止指定名称容器,并在kill掉之前停止5s
docker stop -t 5 NAME_XXX
#重启指定名称容器
docker restart NAME_XXX
#删除所有已停止的容器、未使用的网络、悬空的镜像和构建缓存(如未使用的卷、网络和镜像)
docker system prune
# 加 -a 参数可以删除所有未使用的镜像(不仅仅是悬空的镜像)
docker system prune -a#镜像
#显示已拉取镜像
docker images
# 查找中央仓库镜像
docker search nginx
#查看指定镜像已拉取清单
docker image list nginx
#查看镜像的详细信息,包括支持的架构和标签
docker manifest inspect nginx
#拉取最新镜像
docker pull nginx:latest#创建并运行容器
docker run nginx
#创建并运行容器,并指定容器内存、cpu等使用量和端口映射、卷目录映射
docker run --name=portainer -d \-c 2 -m 512m --memory-swap=1G \-p 9000:9000 \-v /var/run/docker.sock:/var/run/docker.sock \-v /opt/docker/sysdata/portainer_data:/data \-e APP_ENV="production" \--restart unless-stopped \portainer/portainer-ce:latest \#进入指定容器内部系统
docker exec -it nginx /bin/bash
#查看容器详细信息
docker inspect nginx
#查看容器运行日志
docker logs nginx
#查看容器资源使用状态
docker stats nginx
#查看容器内进程
docker top nginx
#查看容器端口映射
docker port nginx
#查看容器文件系统变更
docker diff nginx
#查看容器元数据(网络配置、持载点、环境变量等)
docker container inspect nginx

查看官网仓库各镜像与版本

https://hub.docker.com/

参考:

https://blog.csdn.net/weixin_50367873/article/details/137927099

https://docs.docker.com/engine/install/centos/

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com