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

行动起来,活在当下

  • 累计撰写 35 篇文章
  • 累计创建 9 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

Docker的安装与使用

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

1 Docker版本介绍

Docker 从 17.03 版本之后分为:

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

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

2 创建Docker存储库

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

在新主机上首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库。之后,方便您可以从仓库安装和更新 Docker:

[root@localhost ~]# yum install -y yum-utils

使用以下命令来设置稳定的仓库(阿里仓库):

[root@localhost ~]# yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3 安装docker软件包

root@localhost ~]# yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
​
#查看docker版本信息
[root@localhost ~]# docker --version

卸载Docker方式,删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

4 配置镜像加速器

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

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

阿里云的加速器:https://help.aliyun.com/document_detail/60750.html

网易加速器:http://hub-mirror.c.163.com

官方中国加速器:https://registry.docker-cn.com

ustc(中科大) 的镜像:https://docker.mirrors.ustc.edu.cn

Daocloud(云平台):https://www.daocloud.io/mirror#accelerator-doc(注册后使用)

5 Docker命令介绍

查看docker可用命令:

[root@localhost ~]# docker

Docker命令根据Docker官方案例分为以下几种:

  • Docker环境信息: docker [info|version]

  • 容器生命周期管理:docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]

  • 容器操作命令: docker [ps|inspect|top|attach|wait|export|port|rename|stat]

  • 容器rootfs命令: docker [commit|cp|diff]

  • 镜像仓库命令: docker [login|pull|push|search]

  • 本地镜像管理: docker [build|images|rmi|tag|save|import|load]

  • 容器资源管理: docker [volume|network]

  • 系统日志信息: docker [events|history|logs]

6 镜像常用管理命令

docker image 获取镜像管理命令

命令

作用

docker images

列出本地镜像

docker search 镜像名

搜索镜像

docker pull 镜像名:版本

拉取镜像

docker rmi 镜像名:版本

删除镜像

列出本地镜像:docker images

常用选项:

  • -a :列出本地所有的镜像

  • -q :只显示镜像ID

[root@localhost ~]# docker images

输出详情介绍:

REPOSITORY 镜像仓库源 TAG 镜像的标签 IMAGE ID 镜像的ID CREATED 镜像创建时间 SIZE 镜像大小

搜索镜像:docker search

常用选项:

  • --no-trunc :显示完整的镜像描述

[root@localhost ~]# docker search centos

输出详情介绍:

NAME 镜像仓库源的名称 DESCRIPTION 镜像的描述 STARS 点赞数量,表示喜欢的意思 OFFICIAL 是否 docker 官方发布 AUTOMATED 自动构建(表示个人发布)

下载镜像:docker pull

root@localhost ~]# docker pull centos:7

提示:下载镜像如果不指定镜像版本则是最新版本,如需指定版本可从docker hub查看对应版本信息在进行下载

查看镜像:docker images

[root@localhost ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       7         8652b9f0cb4c   8 months ago   204MB

删除镜像:docker rmi

[root@localhost ~]# docker rmi centos

提示:删除镜像可以根据镜像名称或者ID删除

删除所有镜像:如需删除所有镜像可以配合docker images -q获取所有镜像ID在进行删除

[root@localhost ~]# docker rmi `docker images -q`

7 容器常用管理命令

命令

作用

docker ps

查看正在运行容器

docker ps -a

查看所有容器

docker run 参数

创建容器

docker exec 容器ID/容器名

进入容器

docker stop 容器名/容器ID

停止容器

docker rm 容器名/容器ID

删除容器

docker start 容器名/容器ID

启动被停止的容器

docker restart 容器名/容器ID

重启容器

docker kill 容器名/容器ID

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

docker inspect 容器名称

查看容器元数据信息

--restart=always

启动容器时设置容器随机自启

docker update --restart=always 容器名/容器ID

容器启动后设置容器随机自启

docker logs 容器名/容器ID

查看容器日志信息

创建容器:docker run

常用选项:

  • -it :为容器分配一个输入终端

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

  • /bin/bash :在容器内执行bash命令

  • exit :退出容器

  • -d :后台运行容器,并返回容器ID

  • -P :随机端口映射,容器内部端口随机映射到主机的端口

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

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

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

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

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

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

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

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

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

  1. 创建容器:docker run 参数

    [root@localhost ~]# docker run -it --name=c1 centos:7 /bin/bash

    -it :为容器分配一个输入终端

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

    /bin/bash :在容器内执行bash命令

  2. 查看容器信息:

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

  1. 创建容器并放入后台运行

    [root@localhost ~]# docker run -id --name=centos2 centos:7

    -d :后台运行容器,并返回容器ID,放入后台运行的容器退出后不会自动关闭

  1. 查看容器元数据信息

    [root@localhost ~]# docker inspect centos2

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

    [root@localhost ~]# docker exec -it centos2 /bin/bash

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

    [root@localhost ~]# docker  stop  centos2

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

    [root@localhost ~]# docker start centos1

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

    [root@localhost ~]# docker start `docker ps -aq`

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

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

    [root@localhost ~]# docker  rm  centos2

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

[root@localhost ~]# docker rm `docker ps -aq`

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

1)下载nginx镜像

[root@localhost ~]# docker pull nginx:1.20.2

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

[root@localhost ~]# docker run -d --name=ngx_v1 --restart=always -p 80:80  nginx:1.20.2

-P :随机端口映射,容器内部端口随机映射到主机的端口

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

--restart=always #容器退出后,自动启动容器(一直)

3)拷贝项目到Nginx的网页目录

docker cp 用于容器与主机之间的数据拷贝

  • 格式1:docker cp 容器名:目录/文件 宿主机目录 #将容器中文件或目录拷贝到宿主机

  • 格式2:docker cp 宿主机目录/文件 容器名:目录 #将宿主机文件/目录拷贝到容器中

#将转盘抽奖项目拷贝到容器中
[root@localhost ~]# docker cp /root/turntable_lottery-master/* ngx_v1:/usr/share/nginx/html
​
#进入容器验证
[root@localhost ~]# docker exec -it ngx_v1 /bin/bash
root@b35e35bf1ca9:/# cd /usr/share/nginx/html/

4)浏览器访问:http://宿主机IP:端口


0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区