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