欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 新闻 > 社会 > Docker

Docker

2024/11/7 0:10:55 来源:https://blog.csdn.net/2301_78875117/article/details/142279784  浏览:    关键词:Docker

linux软件安装

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

1.docker概念

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

docker是一种容器技术,可以将我们的应用以及依赖进行打包,制作出一个镜像(软件安装包以及相关依赖),可以在linux/windows中的docker中运行。

docker采用沙箱隔离机制,部署运行软件之间相互隔离,与操作系统也是隔离的。

2.主要功能

打包 :就是把你软件运行所需的依赖、第三方库、软件打包到一起,变成一个安装包
分发 :你可以把你打包好的 安装包 上传到一个镜像仓库,其他人可以非常方便的获取和安装
部署 :拿着 安装包 就可以一个命令运行起来你的应用,自动模拟出一摸一样的运行环境,不管是在
Windows/Mac/Linux

3.docker架构

docker 使用客户端 - 服务器架构。 Docker 客户端 (client) 与 守护进程 (Docker daemon) 进行对话,该 守 护进程 完成了构建、运行和分发 Docker 容器的繁重工作。

仓库( Repository ): docker 提供的一个用来保存镜像的仓库 .
镜像( Image 镜像就是一个可执行的包 , 用来创建容器 ,docker 中每一个软件就是一个镜像 .
容器( Container ): 容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等

4.docker安装

Docker 可以运行在 MAC Windows CentOS UBUNTU 等操作系统上,本课程基于 CentOS8 安装 Docker。
官网: https://www.docker.com

1.安装 yum-utils, 配置镜像源需要使用
mkdir -p /etc/docker

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安装成功后并没有启动,
启动命令
systemctl start docker
关闭命令
systemctl stop docker
设置开机自动启动
systemctl enable docker

5.docker配置

主要是配置docker国内的镜像源地址。

配置镜像加速
etc 下创建 docker 目录
mkdir -p /etc/docker
进入 docker 目录
cd /etc/docker
创建 daemon.json 文件
touch daemon.json

修改文件

vim daemon.json
{
"registry-mirrors": ["https://dockerhub.icu"]
}
重载配置
systemctl daemon-reload
重启
systemctl restart docker

6.docker镜像命令

docker镜像命令,就是对镜像文件操作的命令

从远程仓库拉取镜像文件 docker pull 镜像名             查看本地镜像  docker images  删除镜像(删除镜像前,需要先删除对应容器)     docker rmi 镜像名加载本地镜像     docker 镜像 load保存镜像到本地,生成tar文件  docker save

7.docker容器命令

运行容器   docker run     一系列配置    镜像名查看容器      docker ps -a启动容器   docker start  容器名停止容器  docker stop 容器名删除容器 (删除容器前,先停止容器) docker rm 容器名查看容器日志  docker logs 容器名进入到docker容器中    docker exec -it   容器名/容器id     bash

8.数据卷挂载

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

在执行 docker run 命令时,使用 -v 数据卷:容器内目录可以完成数据卷挂载。

实例:

创建 mysql 数据卷 

mkdir -p /opt/mysql/data

安装
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

9.Docker安装nginx

nginx是一个有俄罗斯程序员开发的一款前端web服务器(只能运行前端项目)
运行占内存少,性能高,最大并发连接数量可以达到50000个。
加载本地镜像源
docker load -i nginx.tar

创建数据卷
mkdir -p /opt/nginx/html
安装命令
docker run -d -p 80:80 \
--name nginx \
--restart=always \
--privileged=true \
-v /opt/nginx/html:/usr/share/nginx/html \
nginx:1.24
其中 -v /opt/nginx/html 就是与容器中对应的一个在宿主机中的数据卷
我们只需要将文件部署到宿主机的 /opt/nginx/html 目录下即可

10.Docker安装Mysql

加载本地镜像源
docker load -i mysql.tar

安装

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

11.Docker卸载

停止服务

systemctl stop docker

卸载

yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
删除相应文件
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com