IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 1.docker基本操作 -> 正文阅读

[系统运维]1.docker基本操作

一、基本概念

1.镜像

Docker 镜像就是一个只读的模板,镜像可以用来创建 Docker 容器

2.容器

Docker 利用容器来运行应用。容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

注:镜像是只读的,容器在启动的时候创建一层可写层作为最上层。

3.仓库(Repository)

仓库是集中存放镜像文件的场所。
有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。仓库分为公开仓库(Public)和私有仓库(Private)两种形式。最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 Docker Pool等,可以提供大陆用户更稳定快速的访问。当然,用户也可以在本地网络内创建一个私有仓库。当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

二、docker的优点

1、快速的交付和部署

对开发和运维(devop)人员来说,最希望的就是一次创建或配置,可以在任意地方正常运行。开发者可以使用一个标准的镜像来构建一套开发容器,开发完成之后,运维人员可以直接使用这个容器来部署代码。 Docker 可以快速创建容器,快速迭代应用程序,并让整个过程全程可见,使团队中的其他成员更容易理解应用程序是如何创建和工作的。 Docker 容器很轻很快!容器的启动时间是秒级的,大量地节约开发、测试、部署的时间。

2、更高效的虚拟化

Docker 容器的运行不需要额外的管理系统支持,它是内核级的虚拟化,因此可以实现更高的性能和效率。

3、更轻松的迁移和扩展

Docker 容器几乎可以在任意的平台上运行,包括物理机、虚拟机、公有云、私有云、个人电脑、服务器等。 这种兼容性可以让用户把一个应用程序从一个平台直接迁移到另外一个。

4、简单的管理

使用 Docker,只需要小小的修改,就可以替代以往大量的更新工作。所有的修改都以增量的方式被分发和更新,从而实现自动化并且高效的管理。

三、安装docker

1.版本介绍

Docker-CE指Docker社区版,由社区维护和提供技术支持,为免费版本,适合个人开发人员和小团队使用。Docker-EE指Docker企业版,为收费版本,由售后团队和技术团队提供技术支持,专为企业开发和IT团队而设计。
相比Docker-EE,增加一些额外功能,更重要的是提供了更安全的保障。

此外,Docker的发布版本分为Stable版和Edge版,区别在于前者是按季度发布的稳定版(发布慢),后者是按月发布的边缘版(发布快)。通常情况下,Docker-CE足以满足我们的需求。

2.卸载旧docker

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

3.配置阿里云yum源

cd /etc/yum.repos.d
wget http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

4.安装docker

[root@docker ~]# yum -y install docker-ce

#查看版本
[root@docker ~]# docker -v
Docker version 20.10.8, build 3967b7d

#查看docker的详细信息
[root@docker ~]# docker info

5.启动docker

[root@docker ~]# systemctl  start docker
[root@docker ~]# systemctl  status docker

四、docker常用命令

1.搜索镜像(search)

docker search  "centos"

这里的显示结果 显示不完全,可以使用以下命令显示详细的关于镜像的信息

docker search  "centos"  --no-trunc

2.下载镜像(pull)

默认的镜像仓库在国外,可以配置加速器,使用国内阿里云的镜像仓库。每个用户都有属于自己的镜像加速器

登陆阿里云
点击'控制台搜'索容器镜像服务
镜像工具
镜像加速器
[root@docker docker]# mkdir -p /etc/docker
[root@docker docker]# cat /etc/docker/daemon.json
{
  "registry-mirrors": ["https://aiyf7r3a.mirror.aliyuncs.com"]
}
[root@docker docker]# systemctl daemon-reload
[root@docker docker]# systemctl restart docker

#发现多了阿里云的仓库地址,这说明已经配置好了
[root@docker docker]# docker info |grep -iA 1 "mirrors"
 Registry Mirrors:
  https://aiyf7r3a.mirror.aliyuncs.com/

下载镜像

[root@docker ~]# docker pull centos

#这里发现centos 镜像已经下载完成
[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   8 months ago   209MB

3.下载指定的docker镜像版本

可以在docker hup 网站上搜索镜像,可以不用登陆,直接进行搜索。

https://registry.hub.docker.com/

如下图:是下载指定的版本。不同的镜像镜像格式不同

在这里插入图片描述

比如:
docker pull mysql:8.0.26

4.删除镜像

删除镜像的时候需要先将容器停止,并且全部删除掉

#删除镜像有两种方法:
1. docker rmi 镜像名:tags
	这种方法适用于在给镜像重新打完tag后,后又出现一个新的imges id相同的镜像
2. docker rmi 容器id

[root@docker ~]# docker rmi mysql:8.0.26

参数:

? -f: 强制删除镜像,即使有在运行的容器,直接进行删除。
? 不建议使用,建议先删除运行的容器,在删除镜像

5.保存镜像

语法格式:
docker save -o 新镜像名称 要保存的原镜像名称:tag

例子:

[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   8 months ago   209MB

[root@docker ~]# docker save -o centos-iso.tar centos:latest

6.导入镜像

[root@docker ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
centos       latest    300e315adb2f   8 months ago   209MB
[root@docker ~]# docker rmi 300
Untagged: centos:latest
Untagged: centos@sha256:5528e8b1b1719d34604c87e11dcd1c0a20bedf46e83b5632cdeac91b8c04efc1
Deleted: sha256:300e315adb2f96afe5f0b2780b87f28ae95231fe3bdd1e16b9ba606307728f55
Deleted: sha256:2653d992f4ef2bfd27f94db643815aa567240c37732cae1405ad1c1309ee9859

开始导入

[root@docker ~]# docker load -i centos-iso.tar 
2653d992f4ef: Loading layer [==================================================>]  216.5MB/216.5MB
Loaded image: centos:latest

五、容器相关操作

1.创建容器

语法格式:
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像命:tag

-d: 后台运行
-p: 进行端口映射
--name:给容器起个名字

例子:

[root@docker ~]# docker pull nginx
[root@docker ~]# docker run -d -p 80:80 --name test1 nginx:latest
dbf8d7091af4db5c7a2ac2b1cc3876b9de1d421fa67f6bccda29693b2024429d

2.查看容器

docker ps    	#只显示运行的容器
docker ps -a 	#显示所有容器
docker ps -q 	#只显示容器id

3.操作容器

docker start|stop|restart|kill 容器id或者是容器名字

例子:

[root@docker ~]# docker start test1
[root@docker ~]# docker stop test1
[root@docker ~]# docker restart test1

4.删除容器

方法1:

[root@docker ~]# docker stop test1
test1
[root@docker ~]# docker rm test1
test1

方法2:

-f 强制删除

[root@docker ~]# docker rm -f test1

5.容器日志

实时查看日志

[root@docker ~]# docker logs -f test1

查看末尾几行的日志

[root@docker ~]# docker logs --tail 10  test1

6.查看容器内运行的进程

docker top 容器名称或者ID

7.进入容器

docker exec -it 容器名称或者ID bash

-i:交互式
-t:获得一个终端

8.主机和容器复制文件

1.将主机的文件复制到容器内
[root@docker ~]# touch nginx_test
[root@docker ~]# echo "123" >> nginx_test 

#将文件nginx_test 复制到了test1容器的/下
[root@docker ~]# docker cp nginx_test test1:/

2.将容器内的主机复制主机上
[root@docker ~]# docker cp test1:/nginx_test ./

9.查看容器内部细节内容

docker inspect test1
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 23:13:46  更:2021-08-10 23:14:20 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 5:38:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码