侧边栏壁纸
博主头像
小周的个人博客 博主等级

行动起来,活在当下

  • 累计撰写 105 篇文章
  • 累计创建 11 个标签
  • 累计收到 7 条评论

目 录CONTENT

文章目录

Docker快速入门

Administrator
2026-09-11 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

1、Docker介绍

Docker 是一个开源的容器运行时软件(容器运行时是负责运行容器的软件),基于 Go 语言编写,并遵从 Apache2.0 协议开源。

Docker可以让开发者打包自己的应用以及依赖到一个轻量的容器中,然后发布到任何流行的Linux系统上(docker主要理念:一次封装随处运行)。

Docker的思想来源于集装箱,让容器与容器之间相互隔离,与系统相互隔离提高程序之间的安全,更重要的是容器性能开销极低。

Docker官网:www.docker.com

2、Docker组成部分

  • 镜像(images):用来创建容器的模板文件,一个镜像可以创建多个容器(容器动态)

  • 容器(container): 程序的载体,程序运行在容器中,每个容器相互隔离,互不影响,但可以相互通讯

  • 仓库(Repository):集中存放镜像的场所,仓库分为公开仓库(public)和私有仓库(private)两种

    最大的公开仓库为docker hub:https://hub.docker.com

    国内的公开仓库包括:阿里、网易、中科大等

3、容器应用场景

容器非常适合持续集成和持续交付(CI / CD)工作流程,请考虑以下示例方案:

  • 开发人员在本地编写代码,并使用 Docker 封装成镜像,镜像推送到测试环境中,并执行自动或手动测试。

  • 当开发人员发现错误时,他们可以在开发环境中对其进行修复,然后将其重新部署到测试环境中,以进行测试和验证。

  • 测试完成后,将修补程序推送给生产环境,就像将更新的镜像推送到生产环境一样简单。

4、Docker资源汇总

5、Docker版本介绍

Docker 从 1.17.03 版本之后分为:

  • CE(Community Edition: 社区版)免费,功能有限,没有官方技术支持服务。

  • EE(Enterprise Edition: 企业版)收费,功能全面,提供官方技术支持服务。

6、环境规划

主机名称

IP地址

操作系统

硬件配置

docker01

自定义

CentOS 7.6

2 Core/4G Mem/50 Gdisk

7、安装docker软件包

官方安装文档:https://docs.docker.com/engine/installation/linux/centos/

配置阿里的Base源(下载docker时,所需的依赖在Base源里)

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

通过阿里的docker仓库安装方式

yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum -y install docker-ce-20.10.9-3.el7

卸载Docker方式:删除安装包, 删除镜像、容器、配置文件内容

yum remove docker-ce
rm -rf /var/lib/docker

8、配置镜像加速器

默认情况下镜像从docker hub下载,由于docker hub服务器在国外,由于网络原因镜像下载速度较慢,一般会配置镜像加速器进行下载

国内镜像加速器有阿里云、网易云、腾讯云、中科大等,本实验配置阿里云镜像加速器,速度较快

阿里云镜像加速器地址:https://www.aliyun.com/

9、Docker命令介绍

查看docker可用命令

docker

10、镜像常用管理命令

以下是一个Docker镜像常用的管理命令

命令

描述

docker images

列出本地所有镜像

docker search <image>

从Docker Hub搜索镜像

docker pull <image>

从Docker Hub拉取镜像

docker rmi <image>

删除一个镜像

docker image inspect <image>

查看镜像的详细信息和元数据

docker查看本地镜像方式

docker images 命令用于列出本地所有的镜,命令格式如下:

docker images
​
#字段解释
REPOSITORY  镜像名称
TAG         镜像的标签
IMAGE ID    镜像的ID
CREATED     镜像更新时间
SIZE        镜像大小

docker搜索镜像方式

docker search 命令用于在Docker Hub中搜索镜像,命令格式如下:

docker search nginx
​
#字段解释
NAME         镜像仓库名称 
DESCRIPTION  镜像仓库描述 
STARS        评分(星星数)
OFFICIAL     是否为官方镜像,[OK] 表示官方镜像
AUTOMATED    是否为自动构建的镜像,[OK]表示是,自动化构建是Docker Hub的一项功能,当代码仓库中的源代码发生变更时,Docker Hub会自动触发构建过程,从而创建一个新的镜像

docker下载镜像方式

docker pull 命令用于在Docker Hub中下载镜像,下载时如果不指定镜像版本则是仓库中的latest 版本,命令格式如下:

docker pull nginx:1.22.0

11、容器常用管理命令

命令

作用

docker run 选项...

创建容器

docker ps

查看正在运行容器

docker ps -a

查看所有容器(包含关闭的容器)

docker exec -it 容器名/容器ID

进入容器(正在运行的状态)

docker stop 容器名/容器ID

停止容器

docker start 容器名/容器ID

启动被停止的容器

docker restart 容器名/容器ID

重启容器

--restart=always

创建容器时设置容器随机自启

docker update

更新容器配置

docker logs 容器名/容器ID

查看容器日志信息

docker cp 容器名:路径 本机目录

拷贝容器中的数据到宿主机

docker cp 本机目录 容器名:路径

拷贝宿主机中的数据到容器中

docker rm 容器名/容器ID

删除容器(-f 用于强制删除,无需关闭容器)

docker kill 容器名/容器ID

强制停止正在运行的容器(一般不用,除非卡了)

docker inspect 容器名称

查看容器的元数据信息

创建容器:docker run 选项...

常用选项:

  • -id :创建容器并指定容器在后台运行

  • --name="名称" :为容器指定一个名称

  • -p :指定端口映射,格式为:宿主机端口:容器端口

  • --dns 8.8.8.8 :指定容器使用的DNS服务器,默认和宿主一致

  • -it: 进入容器

  • -h "名称" :指定容器的hostname

  • -e username="ritchie" :设置环境变量

  • -m :设置容器使用内存最大值

  • --net="bridge" :指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型

  • --link=[] :添加链接到另一个容器

  • --expose=[]: 开放一个端口或一组端口

  • --volume , -v :绑定一个数据卷

  • -u: 可以指定用户进入容器(用户存在)

创建容器:docker run 参数

docker run -id --name=nginx nginx:1.22.0

查看容器信息:

docker ps        通过-it创建的容器退出后自动关闭
docker ps -a     查看所有容器,包括未运行的

查看容器元数据信息

docker inspect nginx

进入容器:docker exec -it 容器ID/容器名

docker exec -it nginx /bin/bash

停止容器:docker stop 容器名/容器ID

docker  stop  nginx

启动被停止的容器:docker start 容器名/容器ID

docker start nginx

启动被停止的所有容器:ps -aq 获取所有容器ID

docker start `docker ps -aq`

删除容器:docker rm 容器名/容器ID

常用选项: -f 强制删除(无需停止容器)

docker  rm  nginx

删除所有容器:ps -aq 获取所有容器ID

docker rm `docker ps -aq`

练习:通过Docker部署Nginx的web应用并实现浏览器访问:

创建容器并实现端口映射(默认容器无法被外网访问)

docker run -d --name=ngx_v1 --restart=always -p 81:80  nginx:1.22.0

-p :指定端口映射,格式为:宿主机端口:容器端口

--restart=always #设置容器随机自启

浏览器访问:http://server_ip:port

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区