当前位置: 首页 > news >正文

10分钟学会docker安装与使用

文章目录

  • 1、docker简介
  • 2、docker的基本组成
  • 3、docker的安装与配置
  • 4、docker的常用命令


1、docker简介

什么是容器?
它是一种虚拟化的方案,是操作系统级别的虚拟化,只能运行相同或相似内核的操作系统,依赖于Linux内核特性:Namespace和Cgroups (Control Group)。

Linux容器技术与虚拟机对比
在这里插入图片描述

docker的使用场景有哪些?
1、 使用docker容器开发、测试、部署服务
2、 创建隔离的运行环境
3、 搭建测试环境
4、 构建多用户的平台即服务(PasS)基础设施
5、 提供软件即服务(SaaS)应用程序
6、 高性能、超大规模的宿主机部署

docker容器的能力
文件系统隔离:每个容器都有自己的root文件系统
进程隔离:每个容器都运行在自己的进程环境中
网络隔离:容器间的虚拟网络接口和ip地址都是分开的
资源隔离与分组:使用Cgroups将CPU和内存之类的资源独立分配给每个Docker容器


2、docker的基本组成

Docker的主要概念有:Docker Client(客户端),Docker Daemon(守护进程),Docker Image(镜像),Docker Container(容器),Docker Registry(仓库)
在这里插入图片描述

dockerfile与仓库、镜像、容器及tar文件之间的关系
在这里插入图片描述


3、docker的安装与配置

在Ubuntu中安装docker
安装前检查环境:
1、 检查内核版本,用命令 uname -a
2、 检查Device Mapper,用命令 ls -l /sys/class/misc/device-mapper

法一:用Ubuntu维护的版本安装

sudo apt-get install docker.io
source /etc/bash_completion.d/docker.io

法二:用docker维护的版本安装

# 1、检查apt的https支持,查看/usr/lib/apt/methods/https文件是否存在,如果不存在,运行安装命令
apt-get update
apt-get install -y apt-transport-https
# 2、添加docker的apt仓库
echo deb https://get.docker.com/ubuntu docker main > /etc/apt/sources.list.d/docker.list
# 3、添加仓库的key
apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
# 4、安装
apt-get update
apt-get install -y lxc-docker

可以将这4个步骤写入一个sh脚本,用sh脚本一步到位安装

sudo apt-get install -y curl
curl -ssl https://get.docker.com/ubuntu/ | sudo sh

使用非root用户运行docker

1. sudo groupadd docker    # 创建一个名为docker的用户组
2. sudo gpasswd -a ${USER} docker  # 将当前用户添加到docker组
3. sudo service docker restart   #重启docker

4、docker的常用命令

1、查看镜像

docker images    #查看images镜像

2、启动容器

docker run IMAGE [COMMAND] [ARG…]-d 后台启动-i --interactive=ture | fasle 默认是false-t --tty=true | false 默认是false
# 比如:
docker run -d --name nginx_test -p 81:80 nginx    #运行容器(-d 后台运行, -p 外部81端口映射到容器80端口,  --name指定运行的名字)
docker run -d --name bmweb -v ~/example-docs:/usr/local/apache2/htdocs -p 80:80 httpd:latest   #-v 挂载目录,将宿主机目录挂载到容器内目标,双方修改同步

3、查看容器

docker ps   # 查看正在运行的容器
docker ps -a  # 查看全部的容器,包括停止的

4、查看容器详情

docker inspect 容器ID/name

5、重新启动停止的容器

docker start [-i] 容器ID/name

6、删除停止的容器

docker rm 容器ID/name  (并不能删除正在运行的容器)
docker rm -f 容器ID/name   (强制删除,能删除正在运行的容器)

7、删除镜像

docker rmi 镜像名字

8、进入正在运行的容器

docker exec -it 容器id前几位数字  /bin/bash     进入容器里面
exit  从容器里面退出来

9、把容器提交为镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]-a,--author="" Author-m,--message="" Commit message-p,--pause=true Pause container during commitdocker commit -a "lishanlu" -m "Deeplearning model deploy environment." -p dnn_inference dnn_deploy/inference_env:v1.0

10、通过dockerfile构建镜像

docker build -t  dockerimage_name .               通过当前目录下的dockerfile构建镜像,主要最后一个点代表当前目录

11、把镜像打包成tar,方便拷贝到其他宿主机

docker save  镜像的名字  > 1.tar     将镜像保存为文件1.tar
docker save -o 1.tar 镜像的名字

12、tar包加载成docker镜像

docker load < 1.tar         从文件1.tar导入镜像
docker load -i 1.tar
http://www.lryc.cn/news/419271.html

相关文章:

  • vue3、uniapp-vue3模块自动导入
  • Ubantu设置国内镜像(阿里云、华为云)
  • Redis远程字典服务器(3)——常用数据结构和单线程模型
  • [Qt][按钮类控件]详细讲解
  • 数据结构(5.5_2)——并查集
  • Java Web —— 第四天(Maven)
  • 2024年电脑录屏软件推荐:捕捉屏幕,记录生活,分享精彩
  • oracle 增删改查字段
  • 给不规则的shapeGeometry贴图
  • 网络层IP协议报头字段的认识
  • Linux部署MySQL8.0
  • 二叉树中的深搜
  • 固态继电器行业知识详解
  • 【practise】数组中出现次数超过一半的数字
  • RAGFlow v0.9 重磅升级,支持 GraphRAG,开启下一代 RAG 之旅!
  • MySQL的InnoDB的页里面存了些什么
  • SQL Server 事务
  • qt quick实现的水波纹特效:横向波纹、纵向波纹效果
  • 释放数据要素价值,FISCO BCOS 2024 应用案例征集
  • 日撸Java三百行(day18:循环队列)
  • 论文精读1
  • uniapp免费申请苹果证书教程每次7天可用于测试
  • 【优秀python大屏】基于python flask的广州历史天气数据应用与可视化大屏
  • eBPF编程指南(一):eBPF初体验
  • pip笔记
  • centos安装postgresql-12
  • Npm使用教程
  • 【Android Studio】修改项目名称can‘t rename root module解决办法
  • 豆瓣Top250电影数据分析可视化系统(Flask+Mysql+Pyecharts)
  • 软件质量保证计划书(2024Word完整版)