认识docker

认识docker

1.镜像和容器

  • 当我们利用 Docker 安装应用时,Docker 会自动搜索并下载镜像(image)。镜像不仅包含应用本身,还包含应用运行所需要的环境、配置、系统函数库。Docker 会在运行镜像时创建一个隔离环境,称为容器(container)

2.MySQL镜像命令解读

  • 镜像名称一般分为两部分组成:[repository]:[tag]
    • 其中 repository 就是镜像名。
    • tag 是镜像的版本。
  • 在没有指定 tag 时,默认是 latest,代表最新版本的镜像。

3.docker常用命令

  • docker --help ===> docker查看命令帮助手册。
  • docker logs -f 容器名 ===> 查看指定容器的日志。
  • docker version ===> 查看docker的版本信息。
  • docker exec -it 容器名 bash ===> 通过命令行的方式进入容器内进行交互。(可以进入到MySQL容器后登录到MySQL)
  • docker inspect 容器名 ===> 查看指定容器的详细信息。

4.数据挂载

(1)数据卷

  • 数据卷(volume) 是一个虚拟目录,是容器内目录宿主机目录之间映射的桥梁。

  • 在执行 docker run 命令时,使用 -v 数据卷:容器内目录 可以完成数据卷挂载。
  • 当创建容器时,如果挂载了数据卷且数据卷不存在,会自动创建数据卷。

(2)本地目录挂载

  • 在执行 docker run 命令时,使用 -v 本地目录:容器内目录 可以完成本地目录挂载。
  • 本地目录必须使用 "/" 或 "./" 开头,如果直接以名称开头,会被识别为数据卷而非本地目录。
    • -v mysql : /var/lib/mysql 会被识别为一个数据卷叫 mysql。
    • -v ./mysql : /var/lib/mysql 会被识别为当前目录下的 mysql 目录。

5.自定义镜像

  • 镜像就是包含了应用程序、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

(1)Dockerfile

  • Dockerfile就是一个文本文件,其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来 Docker 可以根据 Dockerfile 帮我们构建镜像。常见指令如下:

  • 当编写好了 Dokcerfile ,可以利用下面的命令来构建镜像:

    bash 复制代码
    docker build -t myImage:1.0 .
    • -t:是给镜像起名,格式依然是 repository:tag 的格式,不指定 tag时,默认为 latest
    • .:是指定Dockerfile所在目录,如果就在当前目录,则指定为 "."。

6.容器网络互连

  • 默认情况下,所有容器都是以 bridge 方式连接到 Docker 的一个虚拟网桥上的:

  • 加入自定义网络的容器才可以通过容器名互相访问,Docker的网络操作如下:

  • 可以使用下面的参数在创建容器的时候指定该容器加入某个网络:

    bash 复制代码
    docker run -d --name olive -p 8800:8800 --network GDB olive #创建一个后台运行的容器 olive 并且加入 GDB 网络中

8、参考

  • 1\]. [镜像仓库](https://hub.docker.com/)


相关推荐
可可嘻嘻大老虎19 小时前
nginx无法访问后端服务问题
运维·nginx
阳光九叶草LXGZXJ20 小时前
达梦数据库-学习-47-DmDrs控制台命令(LSN、启停、装载)
linux·运维·数据库·sql·学习
无忧智库20 小时前
某市“十五五“地下综合管廊智能化运维管理平台建设全案解析:从数字孪生到信创适配的深度实践(WORD)
运维·智慧城市
lightningyang21 小时前
DVWA 在 openEuler 系统的安装部署
docker·渗透测试·openeuler·dvwa·天枢一体化虚拟仿真靶场平台
珠海西格21 小时前
“主动预防” vs “事后补救”:分布式光伏防逆流技术的代际革命,西格电力给出标准答案
大数据·运维·服务器·分布式·云计算·能源
阿波罗尼亚21 小时前
Kubectl 命令记录
linux·运维·服务器
IDC02_FEIYA1 天前
Linux文件搜索命令有哪些?Linux常用命令之文件搜索命令find详解
linux·运维·服务器
犀思云1 天前
如何通过网络即服务平台实现企业数字化转型?
运维·网络·人工智能·系统架构·机器人
江畔何人初1 天前
kubectl apply与kubectl create的区别
linux·运维·云原生
M158227690551 天前
四通道全能组网!SG-Canet-410 CAN转以太网网关,破解工业CAN通信瓶颈
linux·运维·服务器