博客
关于我
Docker 基础
阅读量:469 次
发布时间:2019-03-06

本文共 1904 字,大约阅读时间需要 6 分钟。

Docker 基础与实战

什么是 Docker

Docker 是一种基于 Linux 内核的操作系统层面的虚拟化技术,通过封装隔离的进程实现轻量级的容器化部署。与传统虚拟化技术不同,Docker 将容器视为宿主机的普通进程,能够在宿主机和其他容器之间实现资源的精细隔离。

Docker 的优势

  • 一致性:Docker 提供统一的运行环境,减少开发、测试、生产之间的环境差异。
  • 快速部署:通过容器化技术,Docker 可以加速打包、测试和部署流程。
  • 轻量化:相比虚拟化技术,Docker 的容器更小且运行效率更高。
  • Docker 安装

    安装 Docker 前,确保你的 CentOS 系统内核版本支持 Docker。执行以下命令查看内核版本:

    uname -r

    确保 CentOS 系统已更新至最新版本:

    yum update

    卸载旧版本 Docker 并清理残留文件:

    yum remove docker docker-common docker-selinux docker-engine

    安装 Docker 仓库并启用:

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

    安装 Docker 的最新版本:

    yum install docker-ce

    启动 Docker 服务并验证安装:

    systemctl start docker
    docker run hello-world

    Docker 重要命令

    镜像相关命令

  • 搜索镜像:
  • docker search nginx
    1. 下载镜像:
    2. docker pull nginx:1.7.9
      1. 列出镜像:
      2. docker images
        1. 删除镜像:
        2. docker rmi hello-world

          容器相关命令

        3. 新建容器:
        4. docker run -d -p 8080:80 nginx
          1. 停止容器:
          2. docker stop 5d034c6ea010
            1. 重启容器:
            2. docker restart 5d034c6ea010
              1. 进入容器:
              2. docker exec -it 5d034c6ea010 /bin/bash
                1. 删除容器:
                2. docker rm 5d034c6ea010
                  1. 数据拷贝:
                  2. docker cp 5d034c6ea010:/etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf

                    Docker 实战

                    使用 Docker 运行 Nginx

                    docker run -d -p 8081:80 --name nginx --rm nginx

                    挂载配置文件

                    进入容器并挂载配置文件:

                    docker exec -it 9123b67e428e /bin/bash

                    导出配置文件:

                    docker cp nginx:/etc/nginx/nginx.conf /dockerData/nginx/conf/nginx.conf
                    docker cp nginx:/etc/nginx/conf.d /dockerData/nginx/conf/conf.d

                    创建默认主页

                    在宿主机创建文件:

                    cd /dockerData/nginx/www
                    vim index.html

                    访问服务器地址:

                    http://192.168.136.129:8081/

                    使用 Dockerfile 构建镜像

                    FROM openjdk:8-jdk-alpine
                    VOLUME /tmp
                    EXPOSE 8080
                    COPY docker-demo.jar app.jar
                    ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]

                    构建镜像并运行:

                    docker build -t springboot:v1.0 .
                    docker run -v /app/docker/logs:/logs -p 8080:8080 --rm --name springboot springboot:v1.0

                    访问 API:

                    http://192.168.136.129:8080/say

                    查看日志:

                    tail -100f /app/docker/logs/docker-demo-info.log

                    总结

                    通过以上步骤,你可以快速上手 Docker,利用其优势进行轻量化部署和管理。Docker 的高效性和可扩展性使其成为现代应用开发和部署的理想选择。

    转载地址:http://javbz.baihongyu.com/

    你可能感兴趣的文章
    Python:从间隔映射到值
    查看>>
    Python:使用 shell=False 的子进程调用不起作用
    查看>>
    Python:修改 PATH 环境变量的平台无关方式
    查看>>
    Python:假与 0
    查看>>
    Python:函数使用
    查看>>
    Python:函数进阶
    查看>>
    Python:在整数的二进制表示中查找最长的二进制间隙
    查看>>
    Python:如何从二进制转换为 base 64 并返回?
    查看>>
    Python:如何以非阻塞方式读取子进程的标准输出
    查看>>
    Python:如何使用 plotly 制作阴影区域或交替背景颜色?
    查看>>
    Python:如何根据日期时间获取值的计数
    查看>>
    python:如何检测串行 COM 上的设备名称/ID
    查看>>
    Python:如何模拟 datetime.utcnow()?
    查看>>
    Python:如果DataFrames之间的其他值匹配,则对DataFrame中的值求和
    查看>>
    Python:字典思维
    查看>>
    Python:将 HEX 字符串转换为字节
    查看>>
    Python:将列表与范围列表合并
    查看>>
    Python:将列表列表初始化为一定大小,
    查看>>
    Python:带有生成器的给定集合的幂集
    查看>>
    Python:按字符的位置拆分字符串
    查看>>