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

dockor

目录

一.Docker概述

1.什么是docker

2.主要功能

二.Docker架构

三.Docker安装

1.Docker安装

2.Docker卸载

3.Docker配置

四.Docker服务命令

1.Docker镜像命令

(1)从远程仓库拉取镜像文件

(2)从本地加载文件

2.Docker容器命令

五.Docker安装mysql

六.数据卷挂载

七.Docker安装nginx

八.Dockerfile以及自定义镜像


一.Docker概述

Linux软件安装:

以前通过yum命令安装软件,是直接把软件安装到Linux系统中,安装和卸载都比较麻烦,因为软件和系统是强关联。

1.什么是docker

doctor是一种容器技术,解决软件和系统强关联关系,是的软件的安装和卸载非常方便

  • Docker 是一个应用打包、分发、部署的容器
  • 诞生于2013年,基于Go 语言实现
  • Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任 何流行的Linux 机器上
  • 容器是完全使用沙箱机制,相互隔离
  • 容器性能开销极低
  • 你也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而 普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。

总结:Docker 是一种容器技术,可以将我们的应用以及依赖进行打包,制作出一个镜像(软件安装包及相关依赖),可以在Linux,Windows中的docker中运行。doctor采用沙箱隔离机制,部署运行的软件之间相互隔离,与操作系统也是隔离的。

2.主要功能

打包:就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包

分发:你可以把你打包好的“安装包”上传到一个镜像仓库,其他人可以非常方便的获取和安装

部署:拿着“安装包”就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在 Windows/Mac/Linux

二.Docker架构

三.Docker安装

1.Docker安装

(1)安装yum-utils,配置镜像源需要使用

yum install  -y  yum-utils

(2)设置更新docker镜像源

yum-config-manager \--add-repo \
 https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(3)安装

yum install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin

(4)测试docker版本

docker -v

(5)启动常用命令

docker安装成功后并没有启动,

启动命令 systemctl start docker

关闭命令 systemctl stop docker

设置开机自动启动 systemctl enable docker

2.Docker卸载

(1)停止服务

systemctl stop docke

(2)卸载

 yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin

(3)删除文件

 rm -rf /var/lib/docker
 rm -rf /var/lib/containerd

3.Docker配置

主要是国内docker

四.Docker服务命令

1.Docker镜像命令

(1)从远程仓库拉取镜像文件

Docker镜像命令是对镜像文件操作的命令,从远程仓库拉取镜像文件。--> docker pull 镜像名

查看本地镜像 --> docker images

删除镜像。 --> docker rmi 镜像名  (前提:先删除对应的容器)

加载本地镜像。 --> docker load 镜像文件

(2)从本地加载文件

①将文件拖到某个目录下

②cd /此目录名  -->进入到这个目录中

③docker load -i 文件名 -->将本地文件加载到docker中(代替前面框图中pull命令)

④docker images -->查看

⑤docker rmi 镜像id(为IMAGE ID) -->删除

2.Docker容器命令

运行容器 --> docker run  一系列配置  镜像名

查看容器 --> docker ps -a

停止容器 --> docker stop 容器名

启动容器 --> docker start 容器名

删除容器 --> docker rm 容器名

查看容器日志 --> docker logs 容器名

镜像和容器

镜像(Image):Docker将应用程序及其所需的依赖、函数库、环境、配置等文件打包在一起,称为镜像。

容器(Container):镜像中的应用程序运行后形成的进程就是容器,只是Docker会给容器做隔离,对外不可见。

五.Docker安装mysql

1.下载镜像

docker pull mysql:8.0

2.安装

将密码设置为root (倒数第二行)

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
 mysql:8.0

3.进入到docker容器

docker exec -it   容器名/容器id  bash

4.登录mysql

mysql -uroot -proot

5.修改root账号加密方式

ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

6.退出

exit

7.连接数据库

docker run命令的常见参数:

--name:指定容器名称

--restart=always 自动启动

--privileged=true 拥有特权

-p:指定端口映射

-d:让容器后台运

六.数据卷挂载

由于容器内的目录操作不方便,例如mysql数据目录,tomcat项目部署目录.所以可以在Linux(宿主机)中创建一个项目,在运行镜像时,把宿主机中的目录和容器内的目录建立映射关系,后期运行产生的数据,就可以存储在宿主机中的映射目录中,宿主机中的目录称为数据卷.   

1.创建mysql数据卷

mkdir -p /opt/mysql/data

2.安装

docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
-v /opt/mysql/data:/var/lib/mysql \
mysql:8.0

七.Docker安装nginx

nginx是一个由俄罗斯程序员开发的一款前端web服务器(只能运行前端项目)。

运行内存少,性能高,最大并发连接数量可以高达5万个。

1.拉取镜像

docker pull nginx:1.24

2.创建数据卷

mkdir -p /opt/nginx/html

3.安装

docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
 nginx:1.24

4.测试

在桌面创建一个文件命名为index.html,文档中写入内容。将文件拖入opt/nginx/html .在浏览器输入地址:192.168.××.128/index.html,成功显示文档中的内容表示安装成功。

八.Dockerfile以及自定义镜像

相关文章:

  • 速通C语言——(分支和循环)
  • conda 安装软件报错 Found conflicts! Looking for incompatible packages.
  • 快速使用PPASR V3版不能语音识别框架
  • Docker Compose国内镜像一键部署dify
  • 【前端面试题】Vu3常见的面试题
  • 【网络】poll 与epoll(原理、工作模式LT、ET)
  • Windows 图形显示驱动开发-WDDM 3.2-可调性改进
  • [论文阅读]Trustworthiness in Retrieval-Augmented Generation Systems: A Survey
  • 【实战ES】实战 Elasticsearch:快速上手与深度实践-7.3.2使用GraphQL封装查询接口
  • 2-003:MySQL 三层 B+ 树能存多少数据?
  • torch.distributions.categorical.Categorical 介绍
  • 智慧停车小程序:实时车位查询、导航与费用结算一体化
  • Datawhale AI + 办公 笔记2
  • linux自启动服务
  • 使用 Tesseract 进行 OCR 识别的详细指南
  • Linux开发工具----vim
  • Room数据库的使用
  • STM32Cubemx-H7-7-OLED屏幕
  • 【Python】【数据分析】Python 数据分析与可视化:全面指南
  • 【Python 2D绘图】Matplotlib绘图(统计图表)
  • Neuralink脑接设备获FDA突破性医疗设备认证
  • 媒体评特朗普对进口电影征100%关税:让好莱坞时代加速谢幕
  • 贵州黔西游船倾覆事故70名落水人员在院救治,均为轻伤
  • 9米长林肯车开进“皖南川藏线”致拥堵数小时,车主回应称将配合调查
  • 美国鞋类巨头请求白宫豁免关税,称已构成“生存威胁”
  • 消费持续升温,这个“五一”假期有何新亮点?