docker安装并配置外网代理

本文介绍了Docker的核心概念,如容器、镜像、Dockerfile和DockerHub的作用,以及DockerCompose和Swarm的集群管理。同时详细讲解了Docker的安装过程,以及在内网环境下配置代理的步骤。
摘要由CSDN通过智能技术生成

docker

一句话就是docker解决了运行环境不一致所带来的问题

其实偏向于运维的工具,简单了解

docker 简介

Docker(中文名为“容器”)是一个开源平台,允许开发人员在软件容器内自动化部署和管理应用程序。容器提供了一个轻量级、隔离的环境,用于运行应用程序及其依赖项,使得软件可以更容易地打包和分发到不同的系统中。

以下是与Docker相关的关键概念:

  1. 容器:容器是轻量级且隔离的环境,用于打包应用程序及其依赖项。它们提供了在不同系统上一致的行为,确保应用程序在不同的基础设施上运行一致。

  2. 镜像:Docker镜像是容器的构建块。它们是只读模板,包含运行应用程序所需的一切,包括代码、运行时、库和系统工具。镜像是从Dockerfile创建的,Dockerfile指定了构建镜像的步骤。

  3. Dockerfile:Dockerfile是一个文本文件,包含构建Docker镜像的指令。它定义了基础镜像,设置环境,安装依赖项,将文件复制到镜像中,并指定容器启动时要运行的命令。

  4. Docker Hub:Docker Hub是一个公共注册表,托管各种Docker镜像。它作为一个中央仓库,供您查找和与社区共享Docker镜像。Docker Hub还允许您创建私有仓库来存储自己的镜像。

  5. Docker Compose:Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。它允许您在一个YAML文件中定义应用程序所需的服务、网络和卷。通过一个简单的命令,您可以启动和停止整个应用程序堆栈。

  6. Docker Swarm:Docker Swarm是Docker的原生集群和编排解决方案。它允许您创建和管理一组Docker节点,将它们转化为一个单一的虚拟Docker主机。Swarm提供了服务扩展、滚动更新和负载均衡等功能。

  7. Docker CLI:Docker提供了一个命令行界面(CLI),允许您与Docker守护程序进行交互和管理Docker资源。CLI提供了构建镜像、运行容器、管理网络等操作的命令。

Docker因其简化了在不同环境中打包、分发和运行应用程序的过程而变得流行起来。它提倡一致性和可重复性,使得可靠地部署应用程序变得更加容易。

docker 安装

安装过程

  • 安装依赖
yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  • 设置仓库
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
  • 安装docker
yum install docker-ce docker-ce-cli containerd.io
  • 启动并且加入启动项
systemctl start docker

systemctl enable docker
  • 验证
[root@glnode07 docker]# docker version
[root@glnode07 docker]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
719385e32844: Pull complete 
Digest: sha256:88ec0acaa3ec199d3b7eaf73588f4518c25f9d34f58ce9a0df68429c5af48e8d
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
    (amd64)
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID:
 https://hub.docker.com/

For more examples and ideas, visit:
 https://docs.docker.com/get-started/

关于在内网环境中的代理配置

背景

可能在很多单位、公司,只有特定服务器可以上网,需要配置代理才可以访问外网

问题

即使配置好了加速镜像,执行 hello-world 时也依然会出现下面错误,并且我的这台服务器已经配置了代理,可以正常访问外网,但是docker需要单独配置代理。

image-20231030180932580

如果您的本机配置了代理,但是 Docker 客户端没有配置代理,那么 Docker 容器默认情况下将无法直接访问外部互联网。Docker 容器的网络设置是独立于主机的,不会继承主机的代理配置。

docker 代理配置

“docker pull” 命令是由 dockerd 守护进程执行。而 dockerd 守护进程是由 systemd 管理。因此,如果需要在执行 “docker pull” 命令时使用 HTTP/HTTPS 代理,需要通过 systemd 配置。

  • 为 dockerd 创建配置文件夹。
sudo mkdir -p /etc/systemd/system/docker.service.d
  • 为 dockerd 创建 HTTP/HTTPS 网络代理的配置文件,文件路径是 /etc/systemd/system/docker.service.d/http-proxy.conf 。并在该文件中添加相关环境变量。
[Service]

Environment="HTTP_PROXY=http://172.16.4.71:3128/"

Environment="HTTPS_PROXY=http://172.16.4.71:3128/"

Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
  • 刷新配置并重启 docker 服务。
sudo systemctl daemon-reload

sudo systemctl restart docker

docker 命令

一图通

image-20231030220107349

命令介绍

命令说明文档地址
docker pull拉取镜像docker pull
docker push推送镜像到DockerRegistrydocker push
docker images查看本地镜像docker images
docker rmi删除本地镜像docker rmi
docker run创建并运行容器(不能重复创建)docker run
docker stop停止指定容器docker stop
docker start启动指定容器docker start
docker restart重新启动容器docker restart
docker rm删除指定容器docs.docker.com
docker ps查看容器docker ps
docker logs查看容器运行日志docker logs
docker exec进入容器docker exec
docker save保存镜像到本地压缩文件docker save
docker load加载本地压缩文件到镜像docker load
docker inspect查看容器详细信息docker inspect

黑马docker

参考

docker入门(利用docker部署web应用)

Docker从入门到实践——very good

  • 25
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值