docker

目录

一.docker概述

二.docker架构

三.docker安装

四.docker的卸载

五.docker的配置

六.docker服务命令

1.docker镜像命令

2.docker容器命令

七.数据卷挂载

八.docker安装nginx


一.docker概述

Docker 是一个应用打包、分发、部署的容器诞生于2013年,基于Go 语言实现。

Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任

何流行的Linux 机器上容器是完全使用沙箱机制,相互隔离,容器性能开销极低。

也可以把它理解为一个轻量的虚拟机,它只虚拟你软件需要的运行环境,多余的一点都不要,而

普通虚拟机则是一个完整而庞大的系统,包含各种不管你要不要的软件。

在 linux 的软件安装中,是通过 yum 命令去安装软件,这种方式是直接将软件安装在linux中,这样安装和卸载都会很麻烦,因为软件和系统是强关联的。

docker是一种容器技术,用来解决软件和系统强关联关系(解决linux中安装删除软件费劲)的问题,使得软件的安装和卸载非常方便。

docker采用了沙箱隔离机制,部署运行的软件之间相互隔离。

docker的主要功能:

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

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

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

二.docker架构

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

**仓库(Repository):**是docker提供的一个用来保存镜像的仓库。

镜像(**Image:**镜像就是一个可执行的包,用来创建容器,docker中每一个软件就是一个镜像。

**容器(Container):**容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

三.docker安装

Docker可以运行在MAC,Windows,CentOS,UBUNTU等操作系统上,本课程基于CentOS8安装Docker。

官网:https://www.docker.com

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

四.docker的卸载

1.想要卸载 docker 就必须先要停止docker中的服务

systemctl stop docker

2.卸载

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

  1. 删除文件

rm -rf /var/lib/docker

rm -rf /var/lib/containerd

五.docker的配置

配置镜像加速

1.在etc下创建docker目录

mkdir -p /etc/docker

2.进入docker目录

cd /etc/docker

3.创建daemon.json文件

touch daemon.json

4.修改文件

vim daemon.json
{
"registry-mirrors": ["https://dockerhub.icu"]
}

镜像源可能不适用,在更新之后要进行测试,不可以的话就需要在本地进行导入。

5.重载配置

systemctl daemon-reload

6.重启

systemctl restart docker

六.docker服务命令

1.docker镜像命令

查看镜像列表

docker images

从docker仓库拉取镜像文件

docker pull 镜像名

删除镜像

docker rmi 镜像名 镜像版本 / 镜像id

加载本地镜像

docker load -i 镜像文件名

从dockerfile构建镜像

docker build

保存镜像到本地,生成tar文件

docker save

注意:删除镜像前需要删除对应的容器。

2.docker容器命令

镜像运行起来就叫容器。

运行容器

docker run 一系列配置 镜像名

查看容器

docker ps -a

停止容器

docker stop 容器名

启动容器

docker start 容器名

删除容器(删除容器前,先要停止容器)

docker rm 容器名

进入到docker容器

docker exec -it 容器名 bash

退出容器

exit

镜像和容器:

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

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

docker 安装mysql时,需要修改root账号加密方式:

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

七.数据卷挂载

数据卷是一个虚拟目录,是容器内目录和宿主机目录之间映射的桥梁。他将宿主机目录映射到容器内目录,方便我们操作容器内文件,或者方便迁移容器产生的数据。

数据卷案例:

创建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

八.docker安装nginx

Nginx是一款是由俄罗斯的程序设计师所开发高性能的 Web服务器(只能运行前端项目,不能运行

java项目)。

其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,

中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等等。

Nginx专为性能优化而开发,性能是服务器最重要的考量,实现上非常注重效率,能经受高负载的

考验,据报告能支持高达50,000个并发连接数。

拉取镜像:

docker pull nginx:1.24

创建数据卷

mkdir -p /opt/nginx/html

相关推荐
全能全知者1 小时前
docker快速安装与配置mongoDB
mongodb·docker·容器
阿尔帕兹3 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
ZHOU西口4 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
川石课堂软件测试10 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana
追风林17 小时前
mac 本地docker-mysql主从复制部署
mysql·macos·docker
城南vision19 小时前
Docker学习—Docker核心概念总结
java·学习·docker
wclass-zhengge19 小时前
Docker篇(Docker Compose)
运维·docker·容器
梦魇梦狸º1 天前
腾讯轻量云服务器docker拉取不到镜像的问题:拉取超时
docker·容器·github
鬼才血脉1 天前
docker+mysql配置
mysql·adb·docker
詹姆斯爱研究Java1 天前
Docker 的基本概念和优势
docker