热门标签 | 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
                                                            长按扫码上车
                                                            你点的每个在看,我都认真当成了喜欢





                                                            推荐阅读
                                                            • 在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的步骤和方法
                                                              本文介绍了在CentOS/RHEL 7/6,Fedora 27/26/25上安装JAVA 9的详细步骤和方法。首先需要下载最新的Java SE Development Kit 9发行版,然后按照给出的Shell命令行方式进行安装。详细的步骤和方法请参考正文内容。 ... [详细]
                                                            • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
                                                            • 本文总结了在编写JS代码时,不同浏览器间的兼容性差异,并提供了相应的解决方法。其中包括阻止默认事件的代码示例和猎取兄弟节点的函数。这些方法可以帮助开发者在不同浏览器上实现一致的功能。 ... [详细]
                                                            • Ubuntu 用户安装 Linux Kernel 3.15 RC1
                                                              nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
                                                            • systemd-nspawn可以创建最轻量级的容器(ns的意思就是namespace),本文的实验平台是Ubuntu16.04,x86_64机器。本文的目的是:在Ubuntu中用syst ... [详细]
                                                            • docker安装到基本使用
                                                              记录docker概念,安装及入门日常使用Docker安装查看官方文档,在"Debian上安装Docker",其他平台在"这里查 ... [详细]
                                                            • Nextcloudsnap一键安装包: https:github.comextcloudextcloud-snap建议安装Ubuntu系统,因为官方一键安装包用的是Snap,Cen ... [详细]
                                                            • 为PHP5安装curl和gd
                                                              2019独角兽企业重金招聘Python工程师标准一、查看php5是否安装了curl:1在web服务器目录(Ubuntu下通常为varwww ... [详细]
                                                            • GetWindowLong函数
                                                              今天在看一个代码里头写了GetWindowLong(hwnd,0),我当时就有点费解,靠,上网搜索函数原型说明,死活找不到第 ... [详细]
                                                            • LINUX学习之centos7营救模式
                                                              今天卸载软件的时候,不小心把GNOME的一些组件给卸了,导致桌面无法正常开启,会卡在启动过程中,而我的开机启动模式又是设置为图形界面,所以一开LINUX就卡住了,进入不了命令行界面 ... [详细]
                                                            • #这段代码的作用是实现在地图中随机导航。在ros下需要先加载机器人和相关配置,详请参阅古-月的博客http:blog.csdn.nethcx25909articledetails121 ... [详细]
                                                            • “自主设计与实施的故障注入微服务Sidecar,欢迎大佬批评指正!”
                                                              “故障注入Sidecar“——为您的微服务注入故障以验证集群性能!由于导师和实验室师兄们的科研需要,本人专门以Sidecar的模式设计了一个用于错误注入的微服务模块。该模块可以与任 ... [详细]
                                                            • Unity 3D 4.5.1和4.5.2 for Mac的安装与破解方法
                                                              这里有两个版本的unity3dformac可以下载并破解。首先去官网下载unity3dformac4.5.1f3或者4.5.2f1。附上官 ... [详细]
                                                            • [DesktopEntry]NameIntelliJIdeaEDUExechomeshundevelopidea-IE-203.5981.183binidea.shIconhome ... [详细]
                                                            • 如何使用Python selenium实现淘宝抢单机器人
                                                              这篇文章将为大家详细讲解有关如何使用Pythonselenium实现淘宝抢单机器人,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章 ... [详细]
                                                            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社区 版权所有