目录
一、什么是Docker?
在Linux中安装软件:
以前在Linux中安装软件,是直接安装在Linux操作系统中,软件和操作系统耦合度很高,不方便管理。
因为Linux版本不同,环境也就不同了。
docker是一种容器技术(软件),提供标准的应用镜像(包含应用+应用的依赖),我们就可以非常轻松的在docker中安装应用,每一个应用安装好后,就是一个独立的容器
特点:解决软件跨环境迁移的问题
主要功能:
打包:可以把软件以及软件的依赖打包制作成一个镜像(例如后面把springboot和JDK打包成一个镜像)
分发:可以把打包好的镜像上传到镜像仓库,或者其他的Linux系统中
部署:可以非常方便的进行安装,只需要一个命令即可
二、安装Docker
Docker是一个用来安装软件的工具,但是安装Docker还得需要利用yum来安装
1.安装yum配置工具
yum install -y yum-utils
等待安装
2.配置docker的yum源
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 -v
5.启动,关闭,开机自启动
为了方便我们使用方便,建议设置开机自动启动
docker安装成功后并没有启动, 启动命令 systemctl start docker 关闭命令 systemctl stop docker 设置开机自动启动 systemctl enable docker
三、卸载Docker
1.停止服务
systemctl stop docker
2.卸载
yum remove docker-ce docker-ce-cli containerd.io docker-compose-plugin
3.删除文件
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.修改文件
touch daemon.json
地址之后可能无法使用,可能需要重新找配置地址
{ "registry-mirrors": ["https://dockerhub.icu"] }
5.重载配置
systemctl daemon-reload
6.重启
(如果重启失败,很有可能是daemon文件中的配置的格式有误)
systemctl restart docker
五、Docker命令
1.镜像操作命令
(1)从镜像仓库下载镜像到本地
docker pull 例如 docker pull mysql:8.0
(2)查看本地镜像
docker images
(3)删除docker镜像
docker rmi 镜像名:版本/镜像id
(4)从docker保存镜像到Linux本地
(需要保存到Linux中那个目录,进入到那个目录执行保存命令)
docker save 镜像名 > 镜像名.tar
(5)从Linux本地加载镜像到docker中
docker save 镜像名 > 镜像名.tar
2.容器操作命令
(1)通过镜像安装
docker run 镜像名
(2)查看容器
docker ps -a
(3)启动镜像
docker start 容器名
(4)停止容器
docker stop 容器名
(5)删除容器(卸载)
docker rm 容器名
六、利用Docker安装应用
1.安装MySQL
(1)下载mysql镜像
在线下载 docker pull mysql:8.0
加载本地镜像 docker load
(2)安装mysql容器
docker run 参数 例: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 start 容器名 启动容器 docker stop 容器名 停止容器 docker rm 容器名 删除容器 docker logs 容器名 查询容器日志
(4)进入到容器中的命令行
docker exec -it 容器名 bash
(5)退出
exit
2.数据卷挂载
容器是封闭的,与外界隔离的,如果需要操作容器内的文件不方便
可以将容器内的目录与容器外(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
3.安装Nginx
nginx是一个高性能的前端程序服务器,支持最大50000个并发连接
(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