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,成功显示文档中的内容表示安装成功。