热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Docker入门笔记总结

一文让你

Docker介绍

Docker 是一个容器化平台,允许您快速构建,测试和部署应用程序,作为便携式,自给自足的容器,几乎可以在任何地方运行。Docker 是容器技术的事实上的标准,它是 DevOps 工程师及其持续集成和交付管道的必备工具。

Docker安装

Window下安装Docker

安装包下载[1]双击安装完成后桌面会生成三个快捷方式,分别为:

    (1) Docker Quickstart Terminal: 提供Docker的命令行操作
    (2) Oracle VM VirtualBox: 虚拟机软件。
    (3) Kitematic (Alpha):图形化的docker工具

    具体安装详细,可参考文章[2]

    Ubuntu/CentOS安装Docker

      curl -fsSL get.docker.com -o get-docker.sh
      sudo sh get-docker.sh --mirror Aliyun

      Kali/Debian安装Docker

        # 安装通过 HTTPS 添加新存储库所需的依赖项:
        sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg2
        # 添加Docker PGP密钥
        curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -


        # 将 Docker APT 存储库添加到系统的软件存储库列表中
        sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"


        # 配置docker apt源 我这里用的国内阿里云的docker下载源
        echo 'deb https://mirrors.aliyun.com/docker-ce/linux/debian buster stable'> etc/apt/sources.list.d/docker.list


        # 更新apt源
        apt update


        # 如果之前安装了docker的话 这里得卸载旧版本docker
        apt remove docker docker-engine docker.io


        # 安装docker
        apt install docker-ce


        # 查看版本
        docker version

        Docker优化

        Docker国内加速器

        不替换源对话,docker pull 拉去镜像对速度实在太龟速了。

          # 编辑这个文件,如果没有对话就创建这个文件
          vim etc/docker/daemon.json

          内容如下:

            {
            "registry-mirrors": [
            "http://hub-mirror.c.163.com"
            ]
            }

            这里我使用对是国内163网易源,其他源可以自行百度替换。配置完成后重启服务才可以生效:

              sudo systemctl daemon-reload
              sudo systemctl restart docker

              Docker Portainer

              Portainer是Docker一款可视化管理用具,用起来更加容易上手,部署的话也十分简单。

                # 拉取镜像
                docker pull portainer/portainer


                # 一键部署
                docker volume create portainer_data
                docker run -d -p 9000:9000 --name portainer --restart always -v var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

                浏览器访问本地的9000端口即可进入到设置密码界面,选择管理本地Docker的选项,点击就可以看到比较容易理解的Docker管理即界面了。

                Docker基础命令

                搜索镜像

                  docker search 关键词

                  下载镜像

                    docker pull 镜像名

                    查看已下载的镜像

                      docker image ls

                      删除镜像

                        docker rmi 镜像名

                        创建并使用容器

                          docker run -it --name 容器名 镜像名/镜像ID bin/bash

                          查看当前容器

                            docker ps -a

                            统计信息

                              docker stats

                              启动容器

                                docker start 容器名/容器ID

                                重启容器

                                  docker restart 容器名/容器ID

                                  终止容器

                                    docker stop 容器名/容器ID

                                    连接容器

                                      docker exec -it 容器名/容器ID bin/bash

                                      删除容器

                                        docker rm 容器名/容器ID

                                        端口映射

                                        部署一个容器,并将80端口映射到宿主机的8000端口上

                                          # 可以使用--name自定义部署的容器名
                                          docker run -d -p 8000:80 --name 容器名 镜像名


                                          # 也可以直接通过镜像部署
                                          docker run -d -p 8000:80 镜像名

                                          将容器制作成镜像

                                            docker commit -m '镜像描述' -a '制作者' 容器名 镜像名

                                            镜像重命名

                                              docker tag 原镜像名 新镜像名

                                              将制作好的镜像打成 tar 包

                                                docker save -o tar包的名字 镜像名

                                                加载本地镜像包

                                                  docker load

                                                  Docker拓展

                                                  创建自己的仓库

                                                  dockerhub[3]上创建帐号。

                                                  docker是和github类似的仓库,用于存放自己的镜像。可以创建私有和公开的仓库。私有的仓库免费的有限制,貌似只能创建一个仓库,公开的没有限制。

                                                  登录Dockerhub

                                                    docker login登录

                                                    上传自己的镜像

                                                      docker push 用户名/仓库名:vim

                                                      dockerfile部署镜像

                                                        docker build -t 自定义镜像名称 .

                                                        docker-compose部署

                                                          docker-compose up -d

                                                          Docker compose

                                                          docker compose 神器,国内的vulhubs靶场就是用的docker compose规范,所以这里有必要安装一下。

                                                          首先来前往查看最新版本仓库[4]

                                                            # 下载docker-compose
                                                            curl -L https://github.com/docker/compose/releases/download/1.25.0-rc2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose


                                                            # 给docker-compose执行权限
                                                            chmod +x /usr/local/bin/docker-compose


                                                            # 查看docker compose版本
                                                            root@kali-linux:~# docker-compose version
                                                            docker-compose version 1.25.0-rc2, build 661ac20e
                                                            docker-py version: 4.0.1
                                                            CPython version: 3.7.4

                                                            参考资料

                                                            [1]

                                                            Docker_for_window_download: https://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/

                                                            [2]

                                                            Window下安装Docker: "https://www.cnblogs.com/joyny/p/10486682.html"

                                                            [3]

                                                            创建Dockerhub仓库: "https://hub.docker.com/"

                                                            [4]

                                                            docker_compose仓库地址: https://github.com/docker/compose/releases

                                                            为你铺好的HACKWAY
                                                            长按扫码上车
                                                            你点的每个在看,我都认真当成了喜欢





                                                            推荐阅读
                                                            • 在开发过程中,我最初也依赖于功能全面但操作繁琐的集成开发环境(IDE),如Borland Delphi 和 Microsoft Visual Studio。然而,随着对高效开发的追求,我逐渐转向了更加轻量级和灵活的工具组合。通过 CLIfe,我构建了一个高度定制化的开发环境,不仅提高了代码编写效率,还简化了项目管理流程。这一配置结合了多种强大的命令行工具和插件,使我在日常开发中能够更加得心应手。 ... [详细]
                                                            • Docker 中创建 CentOS 容器并安装 MySQL 进行本地连接
                                                              本文详细介绍了如何在 Docker 中创建 CentOS 容器,并在容器中安装 MySQL 以实现本地连接。文章内容包括镜像拉取、容器创建、MySQL 安装与配置等步骤。 ... [详细]
                                                            • CentOS 7环境下Jenkins的安装与前后端应用部署详解
                                                              CentOS 7环境下Jenkins的安装与前后端应用部署详解 ... [详细]
                                                            • 为了确保iOS应用能够安全地访问网站数据,本文介绍了如何在Nginx服务器上轻松配置CertBot以实现SSL证书的自动化管理。通过这一过程,可以确保应用始终使用HTTPS协议,从而提升数据传输的安全性和可靠性。文章详细阐述了配置步骤和常见问题的解决方法,帮助读者快速上手并成功部署SSL证书。 ... [详细]
                                                            • Parallels Desktop for Mac 是一款功能强大的虚拟化软件,能够在不重启的情况下实现在同一台电脑上无缝切换和使用 Windows 和 macOS 系统中的各种应用程序。该软件不仅提供了高效稳定的性能,还支持多种高级功能,如拖放文件、共享剪贴板等,极大地提升了用户的生产力和使用体验。 ... [详细]
                                                            • 在CentOS 7上部署WebRTC网关Janus
                                                              在CentOS 7上部署WebRTC网关Janus ... [详细]
                                                            • Docker 环境下 MySQL 双主同步配置指南
                                                              本文介绍了如何在 Docker 环境中配置 MySQL 的双主同步,包括目录结构的创建、配置文件的编写、容器的创建与设置以及最终的验证步骤。 ... [详细]
                                                            • 微服务优雅上下线的最佳实践
                                                              本文介绍了微服务上下线的正确姿势,避免使用 kill -9 等粗暴手段,确保服务的稳定性和可靠性。 ... [详细]
                                                            • 为什么多数程序员难以成为架构师?
                                                              探讨80%的程序员为何难以晋升为架构师,涉及技术深度、经验积累和综合能力等方面。本文将详细解析Tomcat的配置和服务组件,帮助读者理解其内部机制。 ... [详细]
                                                            • javascript分页类支持页码格式
                                                              前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
                                                            • 在Linux系统中避免安装MySQL的简易指南
                                                              在Linux系统中避免安装MySQL的简易指南 ... [详细]
                                                            • 在 CentOS 6.5 系统上部署 VNC 服务器的详细步骤与配置指南
                                                              在 CentOS 6.5 系统上部署 VNC 服务器时,首先需要确认 VNC 服务是否已安装。通常情况下,VNC 服务默认未安装。可以通过运行特定的查询命令来检查其安装状态。如果查询结果为空,则表明 VNC 服务尚未安装,需进行手动安装。此外,建议在安装前确保系统的软件包管理器已更新至最新版本,以避免兼容性问题。 ... [详细]
                                                            • 2016-2017学年《网络安全实战》第三次作业
                                                              2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
                                                            • 在Kubernetes上部署多个Mitmproxy代理服务器以实现高效流量管理 ... [详细]
                                                            • 在Ubuntu 20.04 Linux系统中部署Git的详细步骤与最佳实践
                                                              在Ubuntu 20.04 Linux系统中部署Git时,首先确保您的操作系统版本正确,并已以具备sudo权限的用户身份登录。推荐使用APT软件包管理器进行安装,这是最简便且可靠的方法。此外,遵循最佳实践,如定期更新Git版本和配置全局设置,可以进一步提升使用体验和安全性。 ... [详细]
                                                            author-avatar
                                                            冰冻的幸福yasminzp_815
                                                            这个家伙很懒,什么也没留下!
                                                            PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
                                                            Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有