docker笔记1-安装与基础命令

docker的用途:

  1. 可以把应用程序代码及运行依赖环境打包成镜像,作为交付介质,在各种环境部署。
  2. 可以将镜像(image)启动成容器(container),并提供多容器的生命周期进行管理(起、停、删)
  3. container容器之间相互隔离,且每个容器都可以设置资源限额
  4. 提供轻量化虚拟功能,容器在宿主机中就是一个个虚拟的空间,彼此相互隔离,完全独立。

docker的安装

确定centos内核版本

        查看centos内核版本   内核版本不能低于3.10

        查看命令:uname -r

基础环境配置

##配置yum源
wget -O /etc/yum.repos.d/CentOs-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo##清除yum缓存
yum clean all##生成yum缓存    
yum makecache##安装一些基础依赖,避免最小安装的虚拟机少一些命令不能使用(可省略)
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel##关闭防火墙
systemctl stop firewalld##关闭防火墙开机自启
systemctl disable firewalld

开启linux内核流量转发

##开启流量转发
cat <<EOF > /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward=1
EOF##加载修改内核参数,使配置生效
sysctl -p /etc/sysctl.d/docker.conf

报错:

sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-ip6tables: 没有那个文件或目录
sysctl: cannot stat /proc/sys/net/bridge/bridge-nf-call-iptables: 没有那个文件或目录

使用yum安装docker

配置yum仓库

##配置docker 的阿里云yum仓库
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repocurl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo##更新yum缓存
yum clean all && yum makecache

安装docker

查看可安装社区版本:yum list docker-ce --showduplicates |sort -r

安装docker 社区版20.10.6 版本

yum install docker-ce-20.10.6 -y

配置docker加速器

        配置国内的镜像加速源,提高镜像下载速度

##创建docker配置文件目录
mkdir -p /etc/docker##创建docker配置文件
touch /etc/docker/daemon.json##编辑配置文件
vim /etc/docker/daemon.json##添加阿里的加速器
{"registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"]
}##加载配置文件
systemctl daemon-reload#设置该配置开机自启
systemctl enable docker##启动docker
systemctl restart docker

 设置开机启动

看下docker启动是否正常

docker 镜像基础命令

搜索镜像

docker search 镜像名称:版本标签(可省略)

拉取镜像

标题

命令

示例

拉取镜像最新版本

docker pull <镜像名称>

拉取最新版的 Ubuntu 镜像:

docker pull ubuntu

拉取特定版本(标签)的镜像

docker pull <image-name>:<tag>

拉取 Ubuntu 18.04 版本的镜像:

docker pull ubuntu:18.0

从非官方仓库拉取镜像

docker pull <repository>/<image-name>:<tag>

从私有仓库 myregistry.com 拉取名为 myapp 的镜像,标签为 v1.0:

docker pull myregistry.com/myapp:v1.0

需要认证的私有仓库拉取镜像,首先需要使用 docker login 命令登录:docker login <repository>

查看本地镜像

#命令1 - 查勘所有镜像
docker image ls
#命令2 命令1的简写
docker images 
# 命令3 -查找某个镜像
docker images 镜像名
#查找单个镜像的单个版本
docker images 镜像名:版本标签#只查看镜像的id
docker images -q

REPOSITORY:仓库名

TAG:标签(版本)

IMAGE ID:镜像id

CREATED:创建时间 

SIZE:占用空间

本地镜像存储目录:/var/lib/docker/image/overlay2/imagedb/content/sha256

里边存放的文件为json格式,

删除本地镜像

#根据镜像名删除
docker rmi 镜像名:版本标签#根据镜像id删除
docker rmi 镜像名id (镜像id可是id的前三位或完整id)#如果报以下错误,证明镜像被启动过,被容器依赖,需要先删除依赖这个镜像的容器,在删除镜像
#Error response from daemon: conflict: unable to remove repository reference "hello-world:latest" (must force) - container a3d5a322e732 is using its referenced image d2c94e258dcb#查看运行过的容器
docker ps -a#删除容器
docker rm 容器id#批量删除镜像

docker  rm 删除容器 docker rmi 删除镜像

查看镜像详细信息

docker image inspect 镜像名称:版本标签/镜像id

启停容器 - 查看容器进程 

#启动镜像命令
docker run 可选参数 镜像名称/镜像id 
示例:docker run -d -p 80:80 nginx
-d:后台启动
-p 80:80 端口映射,宿主机端口映射容器端口,访问宿主机的80映射到容器内的80端口 

查看容器运行进程

docker ps

CONTAINER ID:容器id

停止容器运行

docker stop 容器id

启动容器:

docker start 容器id

利用docker获取不同版本系统镜像

一个完整的系统是由linux内核 + 发行版(例如:centos 、redhat、suse)才组成一个系统,利用docker容器可以获取不同的发行版镜像,然后基于该镜像运行出各种容器去使用.

#获取发型版镜像
docker pull 镜像名称:版本号
#运行容器且进入容器内部 -i 交互式命令操作 -t开启一个终端 bash进入容器
docker run -it 镜像id bash

示例:

#示例:
#获取centos镜像
# docker pull centos (默认最新版本)
#查看镜像id
#docker images
#运行镜像
#docker run -it e6a0117ec169 bash
#退出 exit

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/241462.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异常处理和单元测试python

一、实验题目 异常处理和单元测试 二、实验目的 了解异常的基本概念和常用异常类。掌握异常处理的格式、处理方法。掌握断言语句的作用和使用方法。了解单元测试的基本概念和作用。掌握在Python中使用测试模块进行单元测试的方法和步骤。 三、实验内容 编程实现如下功能&a…

HTTP小记1

目录 post不一定比get安全 HTTP与HTTPS区别 HTTP/1.1的优点 长连接的好处 HTTP/1.1性能 post不一定比get安全 post用bady传输数据&#xff0c;get用url传输数据&#xff0c;但这并不能说get就是比post安全的。 在浏览器地址栏可以看到使用get请求明文传输的数据&#xff…

C++11并发与多线程

C11并发与多线程 1. 线程是进程中的实际运作单位 并发&#xff1a;两个或者更多的任务&#xff08;独立的活动&#xff09;同时发生&#xff08;进行&#xff09;&#xff1a;一个程序同时执行多个独立的任务 进程&#xff1a;一个可执行程序运行起来了&#xff0c;就叫创建了…

蓝桥杯2019年11月青少组Python程序设计省赛真题

1、试编写一个程序,输入一个整数,输出它的各个数位之和。 2、试编写一个程序,输入一个带有小数的数字,输出它的各个数位之和。 3、小兰要为1-2020住户制作门牌号,例如制作1107号门牌,需要制作2块1字符,一块0"字符一块7"字符,求制作1-2020需要多少块2. 4、编程画…

【量化金融】证券投资学

韭菜的自我修养 第一章&#xff1a; 基本框架和概念1.1 大盘底部形成的技术条件1.2 牛市与熊市1.3 交易系统1.3.1 树懒型交易系统1.3.2 止损止损的4个技术 第二章&#xff1a;证券家族4兄弟2.1 债券&#xff08;1&#xff09;债券&#xff0c;是伟大的创新&#xff08;2&#x…

【零基础入门Python】Python参数

✍面向读者&#xff1a;所有人 ✍所属专栏&#xff1a;零基础入门Pythonhttps://blog.csdn.net/arthas777/category_12455877.html 目录 print&#xff08;&#xff09;中的Python结束参数 print&#xff08;&#xff09;中的Python|sep参数 Python的格式转换规则 使用格式…

【数据结构入门精讲 | 第十五篇】散列表知识点及考研408、企业面试练习(2)

在上一篇文章中我们学习了散列表的相关知识点及进行了选择题、编程题的练习&#xff0c;这篇文章中我们将进行编程题的练习&#xff0c;带领读者以练代学、更好地掌握知识点。 目录 R7-1 QQ帐户的申请与登陆R7-2 词频统计R7-3 新浪微博热门话题R7-4 航空公司VIP客户查询R7-1 字…

生成allure报告出现:ALLURE REPORT UNKNOWN

问题&#xff1a;点击浏览器查看时无法查看到报告 错误代码&#xff1a; if __name__ "__main__":pytest.main([./test_study/test_fixture.py])os.system("allure generate ./temps -o ./temps --clean") 结果导向&#xff1a; 解决&#xff1a;因为…

Hadoop入门学习笔记——四、MapReduce的框架配置和YARN的部署

视频课程地址&#xff1a;https://www.bilibili.com/video/BV1WY4y197g7 课程资料链接&#xff1a;https://pan.baidu.com/s/15KpnWeKpvExpKmOC8xjmtQ?pwd5ay8 Hadoop入门学习笔记&#xff08;汇总&#xff09; 目录 四、MapReduce的框架配置和YARN的部署4.1. 配置MapReduce…

缓存高可用:缓存如何保证高可用?

前面我们提到了缓存集群的负载均衡策略&#xff0c;保证缓存服务的高可用&#xff0c;集群策略是最常用的&#xff0c;本文我们以 Redis 为例&#xff0c;分析一下单点缓存如何扩展到集群&#xff0c;以及集群部署的几种常见模式。 Redis 的主从复制 集群实现依靠副本&#x…

爬虫字典生成工具,CeWL使用教程

爬虫字典生成工具,CeWL使用教程 1.工具概述2.参数解析3.使用实例1.工具概述 CeWL 是一个 ruby 应用程序,它将给定的 URL 爬到指定的深度,可以选择跟随外部链接,并返回一个单词列表,然后可用于密码破解者 Cewl 是黑客武器库中的强大工具,因为它允许创建有针对性的单词列…

使用 Spring Boot + MyBatis开发需要注意的事项以及开发模版

前言&#xff1a; 注意&#xff0c;本篇不适用于有相关开发经验的开发者&#xff0c;作为一个在职开发者&#xff0c;我经常在完成从0-1的模块&#xff0c;也就是从数据库表开始到创建实体类&#xff0c;以及dao层&#xff0c;Service层等业务需要添加相关注解&#xff0c;这样…

nn.LSTM个人记录

简介 nn.LSTM参数 torch.nn.lstm(input_size, "输入的嵌入向量维度&#xff0c;例如每个单词用50维向量表示&#xff0c;input_size就是50"hidden_size, "隐藏层节点数量,也是输出的嵌入向量维度"num_layers, "lstm 隐层的层数&#xff0c;默认…

计算机网络——网络层(四)

前言&#xff1a; 前面我们已经对物理层和数据链路层有了一个简单的认识与了解&#xff0c;现在我们需要对数据链路层再往上的一个层&#xff0c;网络层进行一个简单的学习与认识&#xff0c;网络层有着极其重要的作用&#xff0c;让我们对网络层进行一个简单的认识与学习吧 目…

Ubuntu:VS Code上C++的环境配置

使用 VSCode 开发 C/C 程序 , 涉及到 工作区的.vscode文件夹下的3个配置文件&#xff08;均可以手动创建&#xff09; : ① tasks.json : 编译器构建 配置文件 ; ② launch.json : 调试器设置 配置文件 ; ③ c_cpp_properties.json : 编译器路径和智能代码提示 配置文件 ; …

神经网络:机器学习基础

【一】什么是模型的偏差和方差&#xff1f; 误差&#xff08;Error&#xff09; 偏差&#xff08;Bias&#xff09; 方差&#xff08;Variance&#xff09; 噪声&#xff08;Noise&#xff09;&#xff0c;一般地&#xff0c;我们把机器学习模型的预测输出与样本的真实label…

Python中json模块的使用与pyecharts绘图的基本介绍

文章目录 json模块json与Python数据的相互转化 pyecharts模块pyecharts基本操作基础折线图配置选项全局配置选项 json模块的数据处理折线图示例示例代码 json模块 json实际上是一种数据存储格式&#xff0c;是一种轻量级的数据交互格式&#xff0c;可以把他理解成一个特定格式…

python dash 写一个登陆页 4

界面 代码&#xff1a; 这里引入了dash_bootstrap_components 进行界面美化 &#xff0c;要记一些className&#xff0c;也不是原来说的不用写CSS了。 from dash import Dash, html, dcc, callback, Output, Input, State import dash_bootstrap_components as dbcapp Dash(…

持续集成交付CICD:Jira 远程触发 Jenkins 实现更新 GitLab 分支

目录 一、实验 1.环境 2.GitLab 查看项目 3.Jira新建模块 4. Jira 通过Webhook 触发Jenkins流水线 3.Jira 远程触发 Jenkins 实现更新 GitLab 分支 二、问题 1.Jira 配置网络钩子失败 2. Jira 远程触发Jenkins 报错 一、实验 1.环境 &#xff08;1&#xff09;主机 …

HarmonyOS构建第一个JS应用(FA模型)

构建第一个JS应用&#xff08;FA模型&#xff09; 创建JS工程 若首次打开DevEco Studio&#xff0c;请点击Create Project创建工程。如果已经打开了一个工程&#xff0c;请在菜单栏选择File > New > Create Project来创建一个新工程。 选择Application应用开发&#xf…