0


docker使用

1. 安装

    windows安装docker比较简单,但是需要注意如果之前安装了虚拟机,安装后可能会有冲突无法使用。这里我解决得很迷幻,而且每个人的情况不一样,就各自安好吧~

    另外,还需要注意检查下面的设置。

    搜索应用“启用或关闭windows功能”,检查Hyper-V,适用于Linux的windows子系统,虚拟机平台是否启用。

    找到本地组策略编辑器,检查是否打开基于虚拟化的安全。检查步骤如下图。

2. 查询镜像,拉取镜像

    查询镜像流程:

    1. 查看是否有官方的镜像,有的话优先官方镜像

    2. 没有官方镜像优先推荐值高的镜像

    3. 确认镜像是否符合需求

1. 查询镜像

1. 通过图形化界面docker desktop

    但我安装的图形化界面没法查找到镜像,是因为docker desktop没有链接到网络。

    解决办法:配置Proxies

    tips:三个都要配置,之前只配置了一个,坑了好久。

    配置好后可以查找镜像了。

2. 通过命令行查找

docker search 要查找的镜像
    这里以查询mysql为例。

2. 下载镜像

    1. 在图形化界面拉取镜像

    以上图片来自网络。

    2. 使用命令行
docker pull 镜像名
    3. 下载速度慢解决方案

    方法一:配置镜像源
{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "https://bytkgxyr.mirror.aliyuncs.com",
    "https://hub-mirror.c.163.com/",
    "https://reg-mirror.qiniu.com/",
    "https://docker.mirrors.ustc.edu.cn/",
    "https://registry.docker-cn.com",
    "https://docker.888666222.xyz/"
  ]
}

    方法二:修改DNS

    公共 DNS 服务器 IP 地址(表格来源)

114 DNS114.114.114.114114.114.115.115阿里 AliDNS223.5.5.5223.6.6.6百度 BaiduDNS180.76.76.76DNSPod DNS+119.29.29.29182.254.116.116CNNIC SDNS1.2.4.8210.2.4.8oneDNS112.124.47.27114.215.126.16DNS 派 电信/移动/铁通101.226.4.6218.30.118.6DNS 派 联通123.125.81.6140.207.198.6Google DNS8.8.8.88.8.4.4OpenDNS208.67.222.222208.67.220.220V2EX DNS199.91.73.222178.79.131.110
镜像下载速度慢解决方案参考链接:

Docker拉取镜像过慢或卡死的坑!!!(亲测有效)_docker pull registry拉取不动-CSDN博客

3. 使用docker运行镜像

1. 图形化界面

    运行成功的界面如下。

2. 命令行

# 查看已下载的容器
docker images

# 运行交互式容器
docker run -it <image_name>
# 运行后台容器
docker run -d <image_name>
# 指定端口映射
docker run -p <host_port>:<container_port> <image_name>
# 设置环境变量
docker run -e <env_var>=<value> <image_name>

# 查看正在运行的容器
docker ps

# 停止容器
docker stop <container_id>
    示例。

    成功运行容器。

    成功停止运行容器。

4. 注意点

1. 端口映射

    判断容器是否做端口映射:如果容器内运行的服务(如 Web 服务器、数据库等)需要被外部访问,那么就需要进行端口映射。例如,我希望通过主机访问docker中的某个容器时,需要端口映射。

    对于容器对外暴露的端口可以查看dockerfile得到。(dockerfile文件实际上是一个指令文件,里面包含了容器构建起来的所有指令,通过这些指令docker可以自动化地创建和配置镜像。)

    在docker desktop中也可以看到这些指令。

    我们可以在运行时通过以下指令配置端口映射。
docker run -p <host_port>:<container_port> <image_name>

2. 挂载文件

    挂载对外服务产生的文件,挂载的文件一般有配置文件,用户上传文件等。通过挂载可以

防止因为容器崩溃导致数据丢失,同时还可以挂载到不同的容器中共享数据。

    可以通过图形化界面,在启动容器时配置挂载信息。

    ![](https://i-blog.csdnimg.cn/direct/a96f16fc9efa43c7aca4f5a76c973444.png)

    或者通过
-v

--mount

选项配置挂载。

docker run -d -v 本机目录:容器挂载点 镜像名
docker run -d --mount type=bind,source=本机目录,target=容器挂载点 镜像名
    查看挂载信息。
docker inspect 镜像名
    示例。

3. 容器间桥接网络

    容器间互相访问,建立桥接网络。在容器间搭建网桥类似于组建了一个小型的局域网,进入这个桥接网络的容器可以通过IP地址或容器名称相互通信,就像在同一个局域网中的设备一样。如果,容器有对外暴露端口,那么容器间就可以通过IP和端口号获取容器中的数据和服务。

    

    搭建网桥步骤:

    1. 创建桥接网络
docker network create my_bridge_network

    2. 将运行的容器添加到网络中
docker network connect my_bridge_network my_existing_container

    3. 查看网络信息,获取容器IP
docker network inspect <network_name>

    4. 测试容器互联

    需要在容器中安装ping,但是由于每个容器的环境不同,所以需要根据容器查找对应的安装方法。

    这里测试成功了。![](https://i-blog.csdnimg.cn/direct/ada2c52b37394020824f464b34a0b560.png)

参考文章:

  1. WSL2 请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化_当前计算机配置不支持 wsl2。 请启用“虚拟机平台”可选组件,并确保在 bios 中启-CSDN博客

  2. Docker拉取镜像过慢或卡死的坑!!!(亲测有效)_docker pull registry拉取不动-CSDN博客

  3. win10 手动设置 DNS 地址_自动分配口ip手动指定dns-CSDN博客

标签: docker 容器 运维

本文转载自: https://blog.csdn.net/BlackPudding_/article/details/141602228
版权归原作者 睆小白 所有, 如有侵权,请联系我们删除。

“docker使用”的评论:

还没有评论