牙克石网站建设,宁波pc营销型网站制作,wordpress 第一张图片,有了空间和域名 网站容易做吗Docker 入门与实践#xff1a;从零开始掌握容器化技术
一、Docker 概述
什么是 Docker#xff1f;
Docker 是一个开源的应用容器引擎#xff0c;允许开发者将应用及其依赖打包到一个可移植的镜像中#xff0c;发布到任何支持 Docker 的 Linux 或 Windows 机器上#xff0c…Docker 入门与实践从零开始掌握容器化技术
一、Docker 概述
什么是 Docker
Docker 是一个开源的应用容器引擎允许开发者将应用及其依赖打包到一个可移植的镜像中发布到任何支持 Docker 的 Linux 或 Windows 机器上实现轻量级虚拟化。容器之间完全隔离互不干扰。
什么是沙盒机制
沙盒Sandbox是一种安全技术为运行中的程序提供隔离环境主要包括
进程隔离权限控制资源隔离数据隔离
Docker 利用沙盒机制确保每个容器运行在独立的环境中提升安全性和稳定性。
Docker 容器 vs 虚拟机特性Docker 容器虚拟机虚拟化层次应用层硬件层启动速度秒级分钟级资源占用低高隔离性进程级系统级![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://img-home.csdnimg.cn/images/20230724024159.png?origin_urlimg%2F002.jpgpos_idimg-ek5TmYK6-17583694035
Docker 架构
Docker 分为三大部分
Docker 客户端用户通过命令行或 API 与 Docker 交互。Docker 主机执行 Docker 命令的核心引擎。远程仓库存储和分发镜像的平台如 Docker Hub。
核心概念
镜像Image类似于安装包是容器的基础。容器Container运行中的镜像实例。二、Docker 环境部署
1. 检查内核版本
uname -r要求内核版本 ≥ 3.10。
2. 卸载旧版本可选
yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine3. 安装依赖与配置源
yum install -y yum-utils
yum-config-manager --add-repo \http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo4. 安装指定版本 Docker
yum install --setoptobsoletes0 \docker-ce-20.10.8-3.el7 \docker-ce-cli-20.10.8-3.el7 \containerd.io5. 启动并验证
systemctl start docker
systemctl enable docker
docker run hello-world若出现网络超时可配置镜像加速器
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json -EOF
{registry-mirrors: [https://docker.mirrors.ustc.edu.cn,https://docker.nju.edu.cn]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker三、Docker 常用操作
镜像操作命令说明docker images查看本地镜像docker search 镜像名搜索镜像docker pull 镜像名:标签拉取镜像docker rmi 镜像ID或名称删除镜像容器操作命令说明docker run -p 主机端口:容器端口 -d --name 名称 镜像创建并运行容器docker start 容器ID或名称启动容器docker stop 容器ID或名称停止容器docker restart 容器ID或名称重启容器docker ps -a查看所有容器docker rm 容器ID或名称删除容器docker exec -it 容器 /bin/bash进入容器内部docker logs 容器 -f -n 10查看日志示例运行 Tomcat
docker pull tomcat:8.0
docker run -p 8080:8080 -d --name tomcat8 tomcat:8.0访问 http://虚拟机IP:8080 即可看到 Tomcat 首页。四、实战部署 MySQL 容器
1. 拉取镜像
docker pull mysql:8.4.0-oraclelinux82. 创建目录并设置权限
mkdir -p /usr/local/docker/mysql/{logs,conf,data}
chmod 777 /usr/local/docker/mysql/*3. 运行 MySQL 容器
docker run --name mm -p 3306:3306 -e MYSQL_ROOT_PASSWORD123456 -d \-v /usr/local/docker/mysql/logs:/var/log/mysql \-v /usr/local/docker/mysql/conf:/etc/mysql \-v /usr/local/docker/mysql/data:/var/lib/mysql \mysql:8.4.0-oraclelinux8五、自定义镜像打包 Spring Boot 应用
1. 准备 Dockerfile
FROM openjdk:8
ADD demo-helloworld-0.0.1-SNAPSHOT-exec-99.jar /app.jar
RUN bash -c touch /app.jar
ENTRYPOINT [java,-jar,/app.jar]
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo Asia/Shanghai /etc/timezone2. 构建镜像
docker build -t demo .3. 运行容器
docker run -d -p 8888:8888 --name demo01 demo访问 http://虚拟机IP:8888 即可访问应用。六、总结
Docker 通过容器化技术实现了应用的快速部署、隔离和迁移极大地提升了开发与运维效率。本文介绍了 Docker 的基本概念、安装方法、常用命令以及如何自定义镜像希望能帮助你快速上手 Docker。如果有需要修改或者补充的地方可以随时联系主包