Docker随笔

:本文不涉及docker安装部署,是作者日常使用的docker笔记,需要部署操作的还需另外搜索文献

Docker

Docker是一组平台即服务(PaaS)的产品。它基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。托管容器的软件称为Docker引擎。Docker能够帮助开发者在轻量级容器中自动部署应用程序,并使得不同容器中的应用程序彼此隔离,高效工作。该服务有免费和高级版本。它于2013年首次发布,由Docker, Inc开发。

一、工具下载

玩Docker前,需要下载一些命令工具,方便后续命令操作

  • yum
  • docker-compose
  • wget

二、基础配置

2.1 daemon.json

daemon.json是Docker守护进程的配置文件,其中可以进行镜像地址等等配置

  • 镜像配置
    参数registry-mirrors用来配置镜像地址,使用数组的方式填入
{
	"registry-mirrors": [
		"https://......", 
		"https://......"
	]
}

三、命令解释

  • sudo systemctl status docker
    开机自启动
    sudo systemctl is-enabled docker
    检查是否开机自启动

  • docker update 容器名称 --restart=always
    设置容器开机自启

  • dockerd
    监听来自客户端的请求,‌如创建、‌启动、‌停止容器等;控制Docker容器的生命周期;负责与容器进行通信,‌确保容器能够正确地运行和交互

  • docker run -d --network=host -e TZ=Asia/Shanghai test:0.0.1
    运行镜像名称为test,版本为0.0.1的镜像

    • -d或–detach:‌让容器在后台运行
    • –network=host:‌将容器的网络设置为主机网络,‌这意味着容器将不会获得一个独立的Network Namespace,‌而是和宿主机共用一个Network Namespace。‌容器将不会虚拟出自己的网卡,‌配置自己的IP等,‌而是使用宿主机的IP和端口
    • -e TZ=Asia/Shanghai:‌设置环境变量TZ的值为Asia/Shanghai,‌这样容器内的系统时间和时区将与上海时区保持一致
  • docker run-p 8080:8080 test
    使用Docker运行了一个镜像名为test的Java应用程序,‌将容器的8080端口映射到主机的8080端口

    • docker run:‌是Docker的一个命令,‌用于运行一个新的容器实例
    • -p 8080:8080:‌是端口映射参数,‌它将容器内部的8080端口映射到主机上的8080端口,‌使得可以通过主机的8080端口访问容器内运行的应用程序
  • docker logs -f docker ps -a | grep test | awk '{print $1}'–tail 100 (标红前后有反引号`)
    查看名为“test”的Docker容器的最近100行日志

    • docker ps -a | grep test:‌列出所有Docker容器,‌并过滤出包含“test”的容器
    • awk ‘{print $1}’:‌通过awk命令提取出上一步结果中的第一列,‌即容器的ID
    • docker logs -f --tail 100:‌查看指定容器的日志,‌-f表示实时跟踪日志输出,‌–tail 100表示只显示最后100行日志。‌
  • docker save -o test.tar.gz test:0.0.1
    使用Docker的save命令将名为test,‌标签为0.0.1的镜像保存为一个名为test.tar.gz的tar包

    • -o参数表示输出到文件
    • 会在当前目录生成.tar.gz包

四、网络连接

若需要外部可以请求访问Docker,需要配置tcp

  • vi /usr/lib/systemd/system/docker.service
    进入docker.servie文件编辑界面
  • 找到ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
    在后面加上 -H tcp://ip:2375
    在这里插入图片描述
  • 编辑好后执行:
    • sudo systemctl daemon-reload
    • sudo systemctl restart docker

若是出现报错,尝试重启服务器

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值