Docker自娱—1.初次安装

基本概念

docker是集装箱,容器,把功能打包在一起。image是镜像,如同虚拟机镜像;container容器,运行起来的镜像;

运行的容器,就像是剥离了虚拟机软件的虚拟系统,如同跑起来的虚拟机;安装docker→下载某个服务的镜像→把镜像运行起来成为容器



简要术语

名称 术语
镜像 image
容器 container
仓库 repository
签名 digest
版本 tag
联合文件系统 unionFs
volume

体系路线

§ 娱乐级 §
- 安装
- 命令
- 镜像
- 容器 
- 数据卷
- dockerfile
- docker network
- idea整合docker

§ 基础级 § 
- docker compose
- docker swarm
- ci\cd jenkins

§ 工作级 § 
- k8s

 

安装过程

1、准备步骤

- 1.查看系统信息
| uname -r                   // 查看linux内核版本
| cat /etc/os-release        // 查看系统版本及相关信息,centos7
| lsb_release -a             // 查看系统版本,centos6
| 
| cat /etc/centos-release    // 这3都能看系统具体版本号,6和7都可以。
| cat /etc/redhat-release    // 拓展,可以跳过
| rpm -q centos-release      // 这个还包含el版本和是否为64位

- 2.卸载旧版本docker
| [root@wg ~]# rpm -qa | grep docker
| [root@wg ~]# yum list installed | grep docker
| --- 假装自己有旧版本 ---
| [root@wg ~]# yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-engine

2、正式安装

- 1.安装yum-utils包
| [root@wg ~]# yum install -y yum-utils            // centos6回头再装
| # 提供yum-config-manager实用程序,设置稳定存储库

- 2.添加镜像源文件
| [root@wg ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
| # 在/etc/yum.repos.d下生成docker-ce.repo配置文件 
| # 建议使用阿里云

- 3.更新yum软件包索引
| [root@wg ~]# yum makecache fast                  // 生成软件包缓存

- 4.安装docker引擎
| [root@wg ~]# yum -y install docker-ce docker-ce-cli containerd.io
| # docker-ce社区版 一般用这个 ee是企业版 需要企业授权

# 傻白甜级操作指引....

3、验证

[root@wg ~]# docker version          // 查看版本
[root@wg ~]# systemctl start docker  // 启动
[root@wg ~]# docker run hello-world  // hello world是个镜像
[root@wg ~]# docker images           // 查看所有已经下载下来的镜像

# hw是个镜像,run是下载并运行,类似我们第一次输入hello world  
# 正常的下载方式和运行方式是:
| [root@wg ~]# docker pull hello-world         // 下载
| [root@wg ~]# docker run hello-world          // 运行

4、卸载步骤

- 1.卸载
| [root@wg ~]# yum remove docker-ce docker-ce-cli containerd.io


yum remove docker \
>              docker-client \
>              docker-client-latest \
>              docker-common \
>              docker-latest \
>              docker-latest-logrotate \
>              docker-logrotate \
>              docker-selinux \
>              docker-engine-selinux \
>              docker-engine


- 2.删除资源 
| [root@wg ~]# rm -rf /var/lib/docker   // docker的默认工作路径

 

初次使用

1、帮助命令

[root@wg ~]# docker version         // 显示docker的版本信息
[root@wg ~]# docker info            // 显示系统信息,包括镜像和容器数量
[root@wg ~]# docker command --help  // 指令的帮助命令,个人觉得应该多看官网

# 操作前的步骤,非必须

2、查询镜像

[root@wg ~]# docker images        //查看本地主机镜像 
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
httpd         latest    dabbfbe0c57b   5 weeks ago    144MB
hello-world   latest    feb5d9fea6a5   4 months ago   13.3kB

- 字段说明
| pepository: 镜像仓库源
| tag: 版本号(标签)
| image id: 镜像id
| size: 镜像大小

[root@wg ~]# docker images -a                 // 列出所有镜像
[root@wg ~]# docker images -q                 // 只显示镜像Id

[root@wg ~]# docker rmi $(docker images -aq)  // 删除时好用,拉出所有镜像id,全删
# 注意:一般不删镜像。删镜像前先删容器,容器是运行的镜像;删容器前先停止容器。

3、搜索下载

- 本地没有镜像,从仓库下载

- 搜索
| docker search 镜像名                      // 搜索镜像
| docker search --filter=STARS=30 镜像名    // 搜stars大于30的

- 下载(拉取)
| docker pull 镜像名       // 下载镜像 如果不加tag,默认就是latest
| docker pull mysql:5.7   // 下载mysql5.7版本 格式(镜像名:tag)

4、镜像操作

— 用下载的镜像启动成容器
| docker run [可选参数] 镜像名   // 启动镜像的命令模式
| docker run -d centos          // 在后台运行centos
| docker run -it centos         // 交互模式运行centos 等同进入了容器
| docker run -p 主端口:容端口    // 端口映射,映射到真实机任意端口
| # 下载centos镜像,运行镜像为容器,等同于在linux中跑另一个linux

- 端口其他表现形式:
| -p ip:主端口:容端口
| -p 容端口
| 容端口(自己体会)

- 正式写法
| docker run -it centos /bin/bash
| # 进入容器,如不执行程序,容器会被瞬间kill;
| # 所以上边是进入容器,并执行了/bin/bash

- 后继操作
| exit         // 退出容器(C-p-q)
| docker ps    // 查看启动着的容器

- 看不到容器的话,上边的启动正式写法应该修改为:
| docker run -d -it centos /bin/bash   //这样退出后也能查看到容器
| docker ps -a      //查看启动过的所有容器(历史)这里用ps就能看到

- 重新进入容器方法
| docker exec -it 容器id bashShell   // 开启一个新终端,进入容器(常用)
| docker attach 容器id  // 进在运行容器,不开新进程 容器id是ps查的第一列 
 
# 看下方图吧


 

通用安装

CentOS只有7以上才支持docker。工作中环境不确定,有可能需要安装在其他平台,docker官方提供了bash通用安装方式,适用于所有linux平台

[root@wg ~]# curl -fsSL get.docker.com -o get-docker.sh
[root@wg ~]# sudo sh get-docker.sh --mirror Aliyun
[root@wg ~]# systemctl start docker
[root@wg ~]# sudo groupadd docker
[root@wg ~]# usermod -aG docker $USER
[root@wg ~]# systemctl restart docker

 

安装目录

[root@wg /]# systemctl stop docker
[root@wg /]# vi /etc/docker/daemon.json
| {
|      "registry-mirrors": ["http://hub-mirror.c.163.com"],
|      "data-root": "/data/docker"
| }

[root@wg /]# systemctl start docker 


- 1.这是官方文档方式。此文件默认不存在
- 2.文件涉及默认源设定,如果设定了国内源,会有第一行的内容
- 3.在有文件的前提下,就是增加 data-root
- 4.如果使用一段时间后修改,记得把原路径文件拷贝过来
posted @   梵高de画笔  阅读(51)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示