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 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> docker基础学习笔记总结 -> 正文阅读

[系统运维]docker基础学习笔记总结

作者:Docker_150

docker基础笔记

在这里插入图片描述

docker命令参考文档:https://docs.docker.com/engine/reference/commandline/cli/?spm=5176.8351553.0.0.4ef81991PzJJbJ

docker命令大全中文版:https://www.runoob.com/docker/docker-command-manual.html

(一)docker安装

docker需要ubuntu的内核是高于3.10命令:uname -r
安装命令: sudo apt-get install docker.io
查看版本:docker --version
启动命令: sudo systemctl start docker
查看状态: sudo systemctl status docker
停止命令: sudo systemctl stop docker
设置和系统一致默认开启:systemctl enable docker
卸载:sudo apt-get remove docker docker-engine docker-ce docker.io

(二)docker架构

client--------Hosts(docker)---------registries(docker的镜像仓库)
docker镜像:类似于Ubuntu镜像,就是面向对象中的类的含义
docker容器:Ubuntu的具体的实例(运行得到虚拟机),就是面向对象中的对象的含义
仓库:代码控制中心,用于保存镜像
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ivfsITmn-1640442215486)(en-resource://database/1400:1)]
在这里插入图片描述

(三 )配置docker的镜像加速器

My的地址:每个人的地址不一样
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
加速器的地址:https://h7zxs7i7.mirror.aliyuncs.com
操作命令:

  1. 安装/升级Docker客户端推荐安装1.10.0以上版本的Docker客户端,参考文档docker-ce
  2. 配置镜像加速器针对Docker客户端版本大于 1.10.0 的
  3. 用户您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
    在Ubuntu下执行下面的命令:
  4. sudo mkdir -p /etc/docker
    sudo tee /etc/docker/daemon.json <<-‘EOF’
    {
    “registry-mirrors”: [“https://h7zxs7i7.mirror.aliyuncs.com”]
    }
    EOF
    sudo systemctl daemon-reload
    sudo systemctl restart docker

配置完成的结果查看(如下则为成功):
linux@linux:~$ cat /etc/docker/daemon.json
{
“registry-mirrors”: [“https://h7zxs7i7.mirror.aliyuncs.com”]
}

(四)docker服务相关命令(守护进程命令):同上
(五)docker镜像相关命令:

查看镜像:linux@linux:~$ sudo docker images ls
搜索镜像:linux@linux:~$ sudo docker search redis (镜像名)
拉取镜像:sudo docker pull redis,或者sudo docker pull redis:版本号
查看需要下载的镜像的版本的地方:https://hub.docker.com/_/redis

删除镜像:sudo docker rmi 镜像ID号

(六)docker容器相关命令

(1)启动容器方法1(交互式容器):
linux@linux:~$ sudo docker run -it centos /bin/bash (以命令行方式启动容器)

sudo docker run -itd –name centOS-8 centos /bin/bash
以上可以给容器进行命名:便于 标记和认识
参数说明:-i: 交互式操作。
-t: 终端。
ubuntu: ubuntu 镜像。
/bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
要退出终端
直接输入 exit:
(2)启动容器方法2(守护式容器)
命令:sudo docker run -itd centos /bin/bash
(3)查看运行的容器:docker ps -a

(4)停止容器:sudo docker stop fafc4ddf0843 (容器ID)
(5)重启容器:sudo docker restart fafc4ddf0843 (容器ID)
(6)进入容器:sudo docker exec -it bfaa0dc5420f(ID) /bin/bash
(7)删除容器:sudo docker rm 容器的ID 正在运行的容器不允许删除
(8)查看容器的信息:sudo docker inspect bfaa0dc5420f(ID)

(七)docker的数据卷

概念:宿主机中的一个目录或者文件
理解:相当于一个U盘,可以插在多个电脑上,分别进行编辑,数据不丢失
为什么要数据卷:
(1)容器删除了,数据还存在吗?解决问题:容器数据的持久化
(2)容器和外部如何通信的呢? 解决问题:外部数据和容器之间的通信
(3)容器之间的通信如何操作呢?解决问题:数据卷容器之间的通信

创建方法:docker run -v 宿主机的目录:容器的目录
例子:
docker run -itd --name centOS1(名字)**** -v /home/CCM:/home/ccm_container**** centos(镜像)/bin/bash
可以挂载多个目录

docker run -itd --name centos1 -v /home/CCM:/home/ccm centos /bin/bash

在创建时就需要挂载目录,能否先创建,再进行挂载呢?
数据卷容器:
作用:多容器之前的数据交互
创建:docker run -itd --name=c3 -v /volume centos
挂载容器:docker run -itd --name=c1 --volume-from centos(镜像) /bin/bash
这样就将C3容器和C1容器进行了管理,形成了数据卷容器

(八)应用部署

部署步骤:
1.搜索镜像
2.拉取镜像
3.创建容器
4.操作软件
(1)MySQL安装
部署方式:将MySQL的端口从容器中映射出来,提供给外部的进行访问(端口映射)
参考连接:https://www.runoob.com/docker/docker-install-mysql.html

(九)Dockerfile

(1)镜像的本质是什么?
本质是分层的文件系统(特殊的文件系统叠加而成的)
(2)为什么ubuntu镜像只有200M,而MySQL却有500M
Ubuntu基于宿主机的文件系统,而MySQL需要在宿主机上进一步的安装新的文件系统(夫镜像),并在新的文件系统上再次安装MySQL,就会导致文件的大小发生变化

MySQL(应用,docker镜像)
|
JDK(应用镜像)
|
rootfs (基础镜像)
|
bootfs(宿主机镜像)
以上的好处:增加复用性

容器转换成镜像

命令:docker commit 5c8a157b826(源镜像IP) redis1225(新的镜像名):1.1(镜像的版本号)
docker save -o 压缩文件名称 镜像名称:版本号 打包的镜像
docker load -i 压缩文件名称 解压缩文件镜像
file文件的书写:
具体的里面的每个关键字:
https://www.runoob.com/docker/docker-dockerfile.html
构建镜像:
docker build -t nginx:v3 .
docker build -f ./centOS8_dockerfile -t centos:1.0 .
文件的内容:
FROM centos:latest
MAINTAINER author:CCM,time:1225
RUN yum -y install python
&& yum -y install vim
&& usradd CCM_dockerfile_cmd_test
&& touch /home/docker_123_test
&& mkdir -p /home/CCM/CCM2/CCM3
CMD /bin/bash
ADD命令用来将自定义的软件添加到docker镜像中,得到的镜像就是包含了打包的软件的

(十)Docker的服务编排
(十一)私有仓库

私有仓库也是一个镜像,也可以执行镜像的操作
拉取私有仓库:docker pull registry
运行:docker run -itd --name=registry -p 5000:5000 registry
测试成功结果:
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CzjOseAG-1640442215487)(en-resource://database/1402:1)]

上传镜像至私有仓库:
配置文件:vi /etc/docker/daemon.json,增加一条信任的信息
“insecure-registries”:[“192.168.5.133:5000”]
标记镜像为私有仓库镜像:
docker tag redis1225:1.1 192.168.5.133:5000/redis1226:版本号
redis1225:1.1 需要给镜像加上版本号,否则是最新的镜像
完成本步骤后,得到ID是一样的,镜像名不一样
上传命令:
docker push 192.168.5.133:5000/redis1226 镜像的名字
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dYO1XHmD-1640442215488)(en-resource://database/1404:1)]
上传结果在WEB端查看:
在这里插入图片描述

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-L6svBI93-1640442215488)(en-resource://database/1406:1)]

私有仓库的镜像的拉取:
docker pull 镜像名
需要加上设备的IP的端口号
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qbp2aWgR-1640442215489)(en-resource://database/1408:1)]

(十二)容器和虚拟机的比较

相同点:具有相同的资源隔离和资源分配优势
差异点:传统虚拟机可以运行不同的操作系统,容器只能运行宿主机类似的操作系统
启动时间差异大,容器启动时间短,虚拟机时间长
性能使用不一样,容器接近宿主机原生的性能
系统支持的数量不一样,支持近1000个容器,虚拟机近10来个虚拟机

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-12-26 22:38:51  更:2021-12-26 22:40:51 
 
开发: 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年11日历 -2024/11/16 6:56:27-

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