Docker 安装、常用命令以及 docker compose 的安装


本章节目录

    注:本章节为配套 Laradock 使用而编写,对 Docker 不会做全面的讲解,如需深入学习 Docker 请查阅官方文档或者 Docker 相关课程,推荐中文文档:https://vuepress.mirror.docker-practice.com/

    Docker 的安装

    经过多年的迭代发展, Docker 的应用已经非常成熟了,我们可以放心的去使用。

    可视化桌面版本安装

    不管是 Windows 系统还是 Mac 系统,都推荐直接安装桌面版。以下是 Docker 官方安装入口:

    Windows: https://docs.docker.com/desktop/windows/install/
    Mac: https://docs.docker.com/desktop/mac/install/

    直接下载安装即可。运行后,打开 Preferences… 进行设置,打开 Dashboard 进入控制台,管理容器、镜像、数据卷。
    docker 桌面界面

    如下图所示。桌面版的操作和设置非常直接简单,而且后续也不经常用。
    docker 桌面版菜单

    由于网络环境的原因,我们需要对 Docker 的镜像源和 DNS 网络做一些设置。
    如下图所示,依次打开【Preferences】【Docker Engine】
    设置 docker 镜像源
    配置是 JSON 格式,我们加入以下配置来设置国内镜像源,加快安装 Docker 镜像的速度:

      "registry-mirrors": [
        "https://registry.docker-cn.com",
        "http://hub-mirror.c.163.com",
        "https://docker.mirrors.ustc.edu.cn"
      ]
    

    加入以下配置来设置 DNS 服务器地址为阿里云的 DNS:

      "dns": [
        "223.5.5.5"
      ],
    

    设置完后,记得重启 Docker 服务,菜单中点击 restart 即可

    问:不设置国内镜像源或DNS 服务器可能会遇到什么问题呢?
    答:使用命令 docker-compose 构建容器时,需要下载安装许多依赖文件,在下载过程中,经常会遇到docker build alpine dns errorrefused to connect network 之类的网络连接错误,这些错误会导致依赖安装失败,容器构建中止。


    服务器命令行安装

    如果是Ubuntu 等服务器,可以使用以下一键命令安装:

    // 官方安装脚本
    curl -s https://get.docker.com/ | sudo sh
    
    // 阿里云一键脚本
    curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/intranet | sh -
    
    // 其它源
    curl -sSL https://get.daocloud.io/docker | sh
    

    安装后的默认路径是 /var/lib/docker

    设置开机启动

    sudo systemctl enable docker.service
    

    修改镜像源和 DNS 服务器地址
    使用命令行,打开deamon.json vi /etc/docker/daemon.json,没有 daemon.json 文件的话新建一个。写入 json 代码

    {
      "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "https://dockerhub.azk8s.cn",
        "https://hub-mirror.c.163.com"
      ]
    }
    

    ESC 输入 :wq 保存文件。

    通过docker info命令查看Registry Mirrors:参数,查看是否生效。

    重新启动服务

    sudo systemctl daemon-reload
    sudo systemctl restart docker
    

    安装成功后,可以打开命令行,输入以下代码来测试是否配置成功

    docker run hello-world
    

    如果安装成功,系统会给出以下提示:
    docker run hello-worl


    Docker 常用命令

    1. 查看 docker 信息 docker info
    2. 启动 docker service docker start/restart
    3. 创建和删除容器 docker create/rm id
    4. 关闭 docker service docker stop/kill
    5. 查看 image 镜像 docker images
    6. 搜索镜像 docker search 镜像名
    7. 下载镜像 docker pull 镜像名
    8. 删除镜像 docker rmi 镜像id docker images 中列表出来的 IMAGE ID
    9. 查看运行中的容器 docker ps
    10. 查看所有容器 docker ps -a
    11. 启动容器 do 镜像id或者名称
    12. 停止容器 docker stop 镜像id或者名称
    13. 查看容器日志 docker logs 镜像id或名称
    14. 登录容器 docker exec -it 容器名称或id bash exit 退出
    15. 显示容器里被改变的文件或者目录 docker diff 容器名称或者 id
    16. 显示容器的进程信息 docker top 容器id
    17. 从容器里拷贝文件/目录到本地一个路径 docker cp 容器名称或id:/容器路径 本地路径
    18. 端口映射 docker run -d -p 容器端口:本地端口 --name port-redis redis -d 后台运行
    19. 查看映射端口配置 docker port 容器id
    20. 删除容器 docker rm 容器id
    21. 删除所有容器 docker rm `docker ps -a -q`
    22. 删除所有停止的容器 docker rm -v $(docker ps -aq -f status=exited)
    23. 把容器保存成新的镜像 docker commit 现有容器名称 新的镜像名称

    Docker Compose

    Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。 借助 Compose,您可以使用 YAML 文件来配置应用程序的服务。即用于对容器进行编排管理。

    桌面版的 Docker 已自带 docker-compose ,前边我们已经安装过桌面版 Docker,所以我们可以直接开始使用。试下查看 Compose 的版本

    docker-compose -v
    

    docker-compose --v

    Linux 系可以使用命令行安装:

     sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
    // 给予可执行权限
    chmod +x /usr/local/bin/docker-compose
    

    更多 Compose 的安装内容,可以查阅官方文档:https://docs.docker.com/compose/install/

    至此我们已经做好了 Laradock 学习的准备工作,下章我们就开始进入Laradock实战环节。


    请先 登录
    审核后显示
    讨论记录(0 条)
    暂时还没有讨论

    © 2024 麻辣讲 豫ICP备19017310号-2