欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 文旅 > 手游 > 【Docker】安装、镜像、容器

【Docker】安装、镜像、容器

2025/9/15 6:57:25 来源:https://blog.csdn.net/weixin_60583755/article/details/143206261  浏览:    关键词:【Docker】安装、镜像、容器

什么是Docker?

Docker:是基于Go语言实现的开源项目。

  • Docker 是一个用于开发、交付和运行应用程序的开放平台。
  • 它允许开发人员将应用程序及其依赖包打包到一个可移植的容器中, 然后在任何流行的 Linux 机器上运行。Docker 容器是完全隔离的, 使用沙箱机制,相互之间没有任何接口。

Docker的主要目标是“Build,Ship and Run Any App,Anywhere” 也就是通过对应的组件的封装,分发,部署,运行等生命周期管理,是用户APP及运行环境能够做到 “一次封装,到处运行”

Docker的设计理念:构建(build)、运输(ship)、运行(running)

Docker的结构

  • image镜像:docker镜像就是一个只读模板,比如,一个镜像可以包含一个完整的centos,里面仅安装apache或用户的其他应用,镜像可以用来创建docker容器,另外docker提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下一个已经做好的镜像来直接使用;
  • container容器:docker利用容器来运行应用,容器是从镜像创建的运行实例,它可以被启动,开始、停止、删除、每个容器都是互相隔离的,保证安全的平台,可以把容器看做是要给简易版的linux环境(包括root用户权限、镜像空间、用户空间和网络空间等)和运行在其中的应用程序;
  • repostory仓库:仓库是集中存储镜像文件的沧桑,registry是仓库主从服务器,实际上参考注册服务器上存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag);
  • 仓库分为两种:公有仓库、私有仓库,最大的公开仓库是docker Hub,存放了数量庞大的镜像供用户下载;

国内仓库:

{"registry-mirrors": ["https://docker.m.daocloud.io","https://noohub.ru","https://huecker.io","https://dockerhub.timeweb.cloud","https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com","https://5tqw56kt.mirror.aliyuncs.com","https://docker.1panel.live","http://mirrors.ustc.edu.cn/","http://mirror.azure.cn/","https://hub.rat.dev/","https://docker.ckyl.me/","https://docker.chenby.cn","https://docker.hpcloud.cloud","https://docker.m.daocloud.io"]
}

Docker安装【6步】

docker安装

第一步:安装依赖工具
yum -y install yum-utils device-mapper-persistent-data lvm2  
第二步:下载镜像源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
第三步: 安装
yum makecache fast
yum -y install docker-ce 
第四步: 启动
systemctl start docker  
第五步:查看状态
systemctl start docker  
第六步: 测试
docker run hello-world
  1. 安装依赖工具

yum -y install yum-utils device-mapper-persistent-data lvm2

  1. 下载镜像源

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

  1. 安装docker

yum makecache fast 【创建元数据缓存】

yum -y install docker-ce 【安装docker】

4.启动docker

systemctl start docker

5.查看docker状态为active,活动中

systemctl status docker

6.测试 docker run hello-world

发现测试失败,需要跳转到docker目录,添加一个daemon.json文件

{"registry-mirrors": ["https://docker.m.daocloud.io","https://noohub.ru","https://huecker.io","https://dockerhub.timeweb.cloud","https://0c105db5188026850f80c001def654a0.mirror.swr.myhuaweicloud.com","https://5tqw56kt.mirror.aliyuncs.com","https://docker.1panel.live","http://mirrors.ustc.edu.cn/","http://mirror.azure.cn/","https://hub.rat.dev/","https://docker.ckyl.me/","https://docker.chenby.cn","https://docker.hpcloud.cloud","https://docker.m.daocloud.io"]
}

systemctl restart docker 重启docker服务:

docker info 查看镜像仓是否生效:

再次执行:

docker run hello-world

输出Hello from Docker!说明安装成功!

Docker镜像

获取镜像:
docker pull 镜像名称查看本地所有的镜像:
docker  images删除本地镜像
docker  rmi  镜像标识id

获取nginx镜像:

查看本地所有镜像:

删除本地镜像:

docker安装nginx:

docker安装mysql:

查看docker中的镜像:

删除镜像:

删除nginx镜像:

Docker容器

运行容器:
docker   run  -d  -p 宿主机端口:容器端口 --name   容器名称   镜像的标识
参数解释:-d 代表后台执行-p 将当前Linux的端口和容器的端口号进行映射--name 容器的名字
查看正在运行的容器:docker   ps   -qa
参数解释 :-a 所有容器(包括没有运行的容器)-q 只查看标识停止容器运行:
docker  stop  容器标识
启动容器:
docker  start  容器标识
删除容器: (只能删除停止运行的容器)
docker  rm   容器标识
docker rm  -f 容器标识  (强制删除容器,(即使是运行中的)

启动docker中的nginx:

关闭nginx:

启动nginx:

删除docker容器:

不能删除正在运行的docker容器,除非强制删除;

Docker安装nginx

 1.获取镜像
docker pull nginx2. 创建容器并运行
docker run --name=my-nginx -p 80:80 -d  镜像编号
3. 测试
使用浏览器

docker run -d --name=my-nginx -p 12345:80 605c77e624dd
docker ps    docker ps 是 Docker 命令行工具中用于列出当前正在运行的容器的一个命令

Docker部署nginx并访问网页

以下是 Nginx 在 Linux Docker 中的常见目录结构:
/etc/nginx: 存放 Nginx 的配置文件。
/var/log/nginx: 存放 Nginx 的日志文件。
/usr/share/nginx/html: 存放 Nginx 的静态资源文件。
查看nginx的配置文件
docker exec my-nginx cat /etc/nginx/nginx.conf
将网站部署到docker中的nginxdocker  cp  宿主机的网址目录   docker中的nginx名或id:/usr/share/nginx/html/docker  cp  ./qq  my-nginx:/usr/share/nginx/html/

Dockerfile:

Dockerfile文件:

# 获取nginx镜像
FROM nginx:latest
# 将本地的nginx文件拷贝到nginx的配置目录中
COPY nginx.conf /etc/nginx/conf.d/default.conf
# 将本地的html项目拷贝到nginx目录中
COPY ./html /usr/share/nginx/html
# 开放80端口
EXPOSE 80

nginx.conf文件:

server {listen 80;server_name localhost; location / {root   /usr/share/nginx/html;index  index.html index.htm;}
}

创建html文件夹,写入一个html页面:

创建docker镜像:

访问:

版权声明:

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

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