Docker学习(一)
- IT业界
- 2025-09-16 02:27:01

一、Docker 核心概念
Docker 是一个开源的容器化平台,允许开发者将应用及其所有依赖(代码、运行时、系统工具、库等)打包成一个轻量级、可移植的“容器”,实现 “一次构建,随处运行”。
1、容器(Container)轻量级、可执行的软件包,包含应用及其所有依赖(代码、运行时、系统工具、库等)。
基于镜像运行,独立于宿主机操作系统,共享宿主内核。
2、镜像(Image)只读模板,用于创建容器。
由多层文件系统叠加而成(UnionFS),支持复用和增量更新。
3、仓库(Registry)存储和分发镜像的服务,如 Docker Hub(默认公共仓库)、私有仓库(Harbor)。
4、Docker 与 虚拟机 的比较 作为一种轻量级的虚拟化方式,Docker 在运行应用上跟传统的虚拟机方式相比具有如下 显著优势: Docker 容器很快,启动和停止可以在秒级实现,这相比传统的虚拟机方式(数分钟)要快得多; Docker 容器对系统资源需求很少,一台主机上可以同时运行数千个 Docker 容器(在 IBM 服务器上已经实现了同时运行! OK 量级的容器实例); Docker 通过类似 Git 设计理念的操作来方便用户获取、分发和更新应用镜像,存储复用,增量更新; Docker 通过 Dockerfile 支持灵活的自动化创建和部署机制,以提高工作效率,并标准化流程 二、Docker 的安装配置 1、linux 安装(CentOS) 自己构建yum仓库源 # step 1: 安装必要的一些系统工具 yum install -y yum-utils # Step 2: 添加阿里云镜像源 yum-config-manager --add-repo mirrors.aliyun /docker-ce/linux/centos/docker-ce.repo # Step 3: 安装Docker yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin # Step 4: 开启Docker服务 systemctl enable --now docker # Step 5:验证安装 docker version 2、配置国内镜像加速器 [root@centos ~]# vim /etc/docker/daemon.json { "registry-mirrors": [ " docker.m.daocloud.io", " hub-mirror.c.163 ", " mirror.baidubce ", " docker.nju.edu " ] } [root@centos ~]# systemctl daemon-reload [root@centos ~]# systemctl restart docker # 验证 [root@centos ~]# docker pull busybox //拉取镜像 Using default tag: latest latest: Pulling from library/busybox Digest: sha256:498a000f370d8c37927118ed80afe8adc38d1edcbfc071627d17b25c88efcab0 Status: Image is up to date for busybox:latest docker.io/library/busybox:latest [root@centos ~]# docker images //查看本地已有镜像的基本信息 REPOSITORY TAG IMAGE ID CREATED SIZE busybox latest 31311c5853a2 5 months ago 4.27MB 其中镜像的ID信息十分重要, 它唯一标识了镜像。 在使用镜像ID的时候, 一般可以使用该ID的前若干个字符组成的可区分串来替代完整的ID。 三 、Docker 核心命令 镜像管理:1、docker images ——查看本地镜像
2、docker pull ubuntu:latest ——拉取镜像
从稳定性上考虑,不要在生产环境中忽略镜像的标签信息或使用默认的latest 标记的镜像。
3、docker rmi <image_id>或TAG ——删除镜像,加上 -f 便是强制删除
注意:当有该镜像创建的容器存在时, 镜像文件默认是无法被删除的。但是通常并不推荐使用-f参数来强制删除一个存在容器依赖的镜像。 正确的做法是,先删除依赖该镜像的所有容器, 再来删除镜像。
4、docker tag ubuntu:latest myubuntu:latest ——为本地镜像任意添加新的标签
5、 docker search nginx ——搜索官方仓库中的镜像
6、docker build -t myapp:v1 . ——构建镜像
7、docker save myapp:v1 > myapp.tar ——导出镜像
8、docker load < myapp.tar ——从文件导入镜像
容器管理:
1、docker run web /bin/echo "hello , world !! " ——创建容器并输出字符串
当利用 docker run 来创建并启动容器时, Docker 在后台运行的标准操作包括:
检查本地是否存在指定的镜像,不存在就从公有仓库下载; 利用镜像创建一个容器,并启动该容器; 分配 一个文件系统给容器,并在只读的镜像层外面挂载一层可读写层 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去; 从网桥的地址池配置一个 IP 地址给容器; 执行用户指定的应用程序; 执行完毕后容器被自动终止。2、docker run -it web /bin/echo "hello , world !! " ——启动一个bash终端,允许用户进入交互
-t 选项让Docker 分配一个 伪终端 并绑定到容器的标准输入上,-i 则让容器的标准输入保持打开
3、docker run -d --name web nginx ——启动容器(后端运行)
4、docker exec -it web /bin/bash —— 进入容器交互终端
5、docker ps -a ——查看所有容器(包括已停止)
6、docker stop/pause web ——停止/暂停容器
7、docker start web ——启动已停止的容器
8、docker rm web ——删除容器 docker rm `docker ps -aq` ——删除所有容器
9、docker logs web ——查看容器日志,其他可通过--help 了解
10、docker export -o file.tar name 或 docker export name > file.tar ——导出容器到 tar文件中。
11、docker import file.tar - name/ubuntu:18.04 ——导入容器
12、docker cp web:/etc/nginx/nginx.conf ./ ——从容器复制文件到宿主机
Docker学习(一)由讯客互联IT业界栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Docker学习(一)”
上一篇
奖学金(acwing)c++
下一篇
Redis的几个热点知识