docker的使用记录(基本使用用于记录备忘)

【GitHub项目推荐--一个轻量级的开源备忘录】【转载】 Memos 是一个开源、自托管的备忘录中心,旨在提供一种便捷的方式来记录、组织和分享笔记。它结合了知识管理和社交网络的功能,允许用户创建私有或公开的备忘录,以及使用标签、互动式日历等特性。Memos 的数据可以存储在本地或云端,支持多平台使用,如 Windows、MacOS、Linux 和 Web。 阅读详情

docker的使用

docker概念

  • 镜像文件,可以理解为操作系统的镜像
  • 容器实例,可以理解为微型的操作系统
  • 仓库,存储docker景象文件的地方

docker的安装(docker官网有安装指导)

可以参考对应系统的安装相关

https://docs.docker.com/install/linux/docker-ce/ubuntu/#set-up-the-repository

centos系统

  • yum安装,配置yum仓库

    • 仓库配置,阿里云、清华等(版本可能略低)

    • 建议选择官方的安装源(最新的)

      1.卸载旧版本
      sudo yum remove docker \
                        docker-client \
                        docker-client-latest \
                        docker-common \
                        docker-latest \
                        docker-latest-logrotate \
                        docker-logrotate \
                        docker-selinux \
                        docker-engine-selinux \
                        docker-engine
      
      2.设置存储库
      sudo yum install -y yum-utils \
        device-mapper-persistent-data \
        lvm2
      
      sudo yum-config-manager \
          --add-repo \
          https://download.docker.com/linux/centos/docker-ce.repo
      
      3.安装docker社区版
      sudo yum install docker-ce
      4.启动关闭docker
      systemctl start docker
      
  • rpm安装,不推荐

  • 源码编译安装,比较麻烦,没有特定需求还是建议使用yum

ubuntu18.04安装docker(这是本人安装执行命令记录历史,照着来应该没有问题,不过我使用的是root权限)

dpkg -l | grep docker | awk -F' ' '{print $2}'|xargs -n 1 apt -y remove
 sudo apt-get install  apt-transport-https  ca-certificates curl  software-properties-common -y
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 sudo apt-get update
 apt-cache madison docker-ce
 apt-key fingerprint 0EBFCD88
 add-apt-repository    "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   stable"
 sudo apt-get update
 apt-get install docker-ce docker-ce-cli containerd.io
 docker run  hello-world # docker  run 自动下载本地不存在但是仓库中存在的镜像

docker服务相关命令

systemctl status/start/stop  docker

docker镜像、仓库、容器的增删改查管理、使用命令

镜像

  • 增

    从远程仓库中下载Centos镜像

    docker pull centos
    
  • 删

    docker删除镜像

    docker  rmi  容器标识ID/镜像名称    
    # 该命令的解释应该是 remove image  简写为 rmi
    # 如果有容器进程正在使用要删除的docker镜像,则删除不成功会报错。
    # 删除镜像是将docker镜像从本地的docker仓库中将要删除的镜像移除。
    docker rmi  -f 容器标识ID/镜像名称 
    # 该命令是强制删除容器命令镜像,无论是否有容器使用和依赖该镜像。
    

    docker删除容器

    docker  rm 容器标识ID
    # 该命令是删除容器
    
  • 改

    docker启停

    docker start 容器标识ID
    docker stop 容器标识ID
    
  • 查

    docker 从远程仓库查找镜像,相当于从官网仓库中直接搜索镜像名字所获的结果

     docker  search  centos  
    

    docker查看本地所有的镜像文件

    docker    images
    

    查看本地docker运行过哪些容器,包括已经运行结束(docker容器如果没有在后台运行的话,就会执行结束退出)

    也就是说,容器随时创建,随时删除的

    docker   ps   -a
    

    查看本地docker正在运行的程序

    docker ps
    

    显示所有的容器ID

    docker ps -aq
    
  • 用

    运行一个“活着”的容器

    docker run -d centos /bin/sh -c "while true;do echo '你个糟老头子,不听课,坏的很'; sleep 1;done"
    # 参数说明:
    #  -d 后台运行
    #  centos 指定运行的容器镜像名称
    # /bin/bash 指定运行容器镜像的shell解释器
    # -c 指定一段shell解释代码
    

    查看容器的标准输出

    docker logs 容器标识ID
    

    进入容器内

    docker  exec -it 容器标识ID  /bin/bash
    命令说明:
    -i 交互式命令操作
    -t 开启一个终端
    容器标识ID指定要操作 的容器
    /bin/bash 指定终端登陆的解释器
    

    补充:

    查看系统发行版本命令

    cat /etc/system-release

    cat /etc/os-release

  • 自定制的镜像文件

    # 首先进入容器
    docker run -it 镜像  /bin/bash
    或者
    docker exec -it 一个正在运行的容器ID  /bin/bash
    # 安装或部署配置环境,例如执行如下命令安装vim
    yum -y install vim
    # 然后退出
    exit
    # 然后查看刚刚运行容器的ID
    docker ps -a
    # 根据标识ID,将需要提交打包的容器
    docker commit  容器标识ID  容器镜像名称
    # 导出docker镜像成为一个压缩文件
    docker save 要导出的镜像名称  > 导出镜像命名全路径
    # 删除原镜像
    docker rmi 镜像名称/容器ID
    # 将导出的镜像压缩文件重新倒入本地仓库
    docker load  < 要道如的镜像文件压缩包
    # 查看倒入是否成功
    docker images
    # 如果导入成功,则启动进入容器,验证环境是否符合预期
    docker exec -it centos /bin/bash
    
  • docker启停app,以及端口映射,启动一个镜像容器,并将容器提供服务的端口映射到宿主机上

    docker run -d -P 容器镜像  python app.py
    # 命令说明
    # -d 后台运行
    # -P 随即端口映射
    # -p portA:portB   指定端口映射  例如 -p 8888:5000 意思是将 docker容器5000端口映射到宿主机的8888端口上
    

    需要注意的是注意宿主机防火墙和云服务端口限制等设置

  • docker加速器(配置国内下载源)

    # 具体步骤可以查看 https://www.daocloud.io/mirror
    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
    
  • docker的自定义制作镜像文件

    FROM scratch #制作base image 基础镜像,尽量使用官方的image作为base image
    FROM centos #使用base image
    FROM ubuntu:14.04 #带有tag的base image
    
    LABEL version=“1.0” #容器元信息,帮助信息,Metadata,类似于代码注释
    LABEL maintainer=“yc_uuu@163.com" # 指定作者信息
    
    #对于复杂的RUN命令,避免无用的分层,多条命令用反斜线换行,合成一条命令!
    RUN yum update && yum install -y vim \
        Python-dev #反斜线换行
    RUN /bin/bash -c "source $HOME/.bashrc;echo $HOME”
    
    WORKDIR /root #相当于linux的cd命令,改变目录,尽量使用绝对路径!!!不要用RUN cd
    WORKDIR /test #如果没有就自动创建
    WORKDIR demo #再进入demo文件夹
    RUN pwd     #打印结果应该是/test/demo
    
    # ADD and COPY
    # ADD 存在压缩文件的解压功能,因此只是将文件copy到容器中,应该使用COPY而不是ADD
    # ADD与COPY
    # - 优先使用COPY命令
    #    -ADD除了COPY功能还有解压功能
    # 添加远程文件/目录使用curl或wget
    ADD hello /  #把本地文件添加到镜像中,吧本地的hello可执行文件拷贝到镜像的/目录
    ADD test.tar.gz /  #添加到根目录并解压
    
    WORKDIR /root
    ADD hello test/  #进入/root/ 添加hello可执行命令到test目录下,也就是/root/test/hello 一个绝对路径
    COPY hello test/  #等同于上述ADD效果
    
    
    ENV #环境变量,尽可能使用ENV增加可维护性
    ENV MYSQL_VERSION 5.6 #设置一个mysql常量
    RUN yum install -y mysql-server=“${MYSQL_VERSION}” 
    
    • 下面开始自定义一个docker flask web 服务器容器

      # 1、编写web服务
      cat app.py
      #coding:utf8
      from flask import Flask
      app=Flask(__name__)
      @app.route('/')
      def hello():
          return "hello docker"
      if __name__=="__main__":
          app.run(host='0.0.0.0',port=8080)
          
      # 2、编写Dockerfile
      FROM new_ubuntu
      RUN apt-get install -y gnupg2
      RUN apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 7EA0A9C3F273FCD8
      RUN mv /etc/apt/sources.list /etc/apt/sources.list.bak
      COPY sources.list /etc/apt/
      RUN apt update
      RUN apt -y install python3-pip
      RUN pip3 install flask
      COPY app.py /opt/
      WORKDIR /opt
      EXPOSE 8080
      CMD ["python3","app.py"]
      
      # 3、构建docker容器
      
      docker build -t ubuntu_flask  .
      
      # 4、构建完成查看镜像
      docker images
      
      # 5、启动docker实例,并进行映射
      docker run -d -p 8081:8080 ubuntu_flask
      
      #6、宿主机访问验证
      curl http://127.0.0.1:8081
      
      #7、验证成功关闭docker实例
      docker stop 实例ID
      
      

仓库

登陆docker共有仓库
docker login
用户名:yuchao163
密码:
将本地镜像push到远程仓库中
docker push docker.io/本地镜像名   yuchao163/自定义镜像名
从共有仓库中拉取镜像
docker pull yuchao163/要下载的共有仓库镜像
docker私有仓库搭建
docker run -d -p5000:5000 \
-v /opt/data/registry:var/lib/registry \
registry
-v参数,将宿主机器上的文件夹目录映射到容器内的文件夹,在容器内通过访问被映射文件路径访问操作宿主机文件路径
其中registry是要安装下载的镜像

修改docker的配置文件使其支持非安全的https的方式推送镜像
cat /etc/docker/daemon.json
{"registry-mirrors":["http://95822026.m.daocloud.io"],
"insecure-registrues":["192.168.10.200:5000"]
}
修改系统启动文件 /lib/systemd/system/docker.service
EnvironmentFile=-/etc/docker/daemon.json

修改完成后重新加载配置
systemctl daemon-reload
重新启动docker服务
systemctl restart docker


docker tag docker.io/hello-world 192.168.10.200:5000/test_hello
访问 192.168.10.200:5000/

容器

告别Notion!用Docker快速搭建开源备忘录Memos的完整指南 本文详细介绍了如何通过Docker快速部署开源备忘录工具Memos,替代臃肿的商业笔记软件。Memos以其极简设计、开源特性和数据隐私保护优势,成为高效记录灵感和待办事项的理想选择。文章包含从环境准备到高级配置的完整指南,帮助用户在十分钟内搭建个人知识管理系统。 阅读详情

相关推荐

K8S系列知识总结备忘之 : docker 安装,记录一次心塞塞的docker安装

背景: 折腾蓝鲸平台,一条uninstall.sh 命令,将我测试机里边的所有内容清理的干干净净,包括蓝鲸自己的和不是他该清理的东西,庆幸自己没拿一台部署了东西的机器来做这个操作,所以面临的问题,所有的东西都需要重新部署一遍。 首先面临的问题,服务器跟公网是网络隔离的,也不能搭建代理来实现服务器通公网的方式,所以只有离线安装docker可选; 先是到常用的清华源: https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/7.8/x86_64/

运维呆子 的博客 1492

docker操作记录

docker操作记录

Phillip_xian的博客 411

开源备忘录工具Mememo:极速记录与检索的部署与使用指南

在信息爆炸的时代,高效的知识管理与信息检索成为开发者与知识工作者的核心需求。其背后依赖的是对非结构化数据的快速捕获、结构化存储与即时检索能力。从技术原理上看,这通常通过轻量级数据库(如SQLite)实现数据持久化,并结合全文搜索引擎(如FlexSearch)构建索引,以实现毫秒级的模糊查询。这种技术组合的价值在于,它能将碎片化信息(如代码片段、会议记录、灵感想法)转化为可随时调用的“外部记忆”,显著降低认知负荷,提升工作效率。在应用场景上,它尤其适合软件开发、研究写作、项目管理等需要处理大量临时性、高频率存

weixin_30797199的博客 681

docker常用命令

docker常用命令 容器生命周期管理 启动/停止容器 docker start 容器名/ID:启动一个或多个已经被停止的容器 docker stop 容器名/ID:停止一个运行中的容器 docker restart 容器名/ID :重启容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG…] 创建一个新的容器并运行一个命令 常用OPTIONS -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项; -d: 后台运行容器,

Athazement的博客 335

Docker下安装MSSQL并使用Navicat远程连接(备忘录)

Docker下安装MSSQL并使用Navicat远程连接(备忘录)

weixin_54626591的博客 1150

Docker常用命令记录

docker update --参数名称 参数值 容器名称:更新docker容器参数,如果docker容器已被创建,例如:docker update --restart no mynginx。docker logs -f -t --since='2022-07-18' --tail=100 xxx:实时查看指定时间后的日志,只显示最后100行。docker logs -t --since="2022-07-15" --until "2022-07-18" xxx:查看两个日期之间的日志。

hkl_Forever的博客 5296

Docker 使用记录

docker日常使用记录

qq_32425417的博客 556

11-4 AEB 算法原理及系统组成

本专题旨在探讨如何利用仿真软件开发自动紧急制动系统AEB,主要通过整理开发流程,实现从需求到验证的全流程掌握,为后续开发提供支持;同时,研究了如何在汽车自动驾驶仿真工具中开发自己的算法,并解决了从ISO、E-CNAP、GB/T以及交通法规等提炼出功能需求的问题,以快速实现原型模型的开发。本专题重点讲解了AEB的工作原理、系统/软件架构和需求、算法模型及实现、CCRs/CCRb/CCRm建模与仿真、VRU-AEB-B/P/M建模与仿真,同时还提供了测试用例,期待将AEB算法成功地产品化。

AIgraphX 8548

Docker Machine 使用备忘

最近尝试了在Windows环境下配置Docker Machine,按照官方文档的说明一步步做下来,把中间遇到的问题做个记录备查。

rhinocero的草 3381

Light Tools 8.4 在 win10系统上的安装方法(64位)

** 总的来说安装LT需要以下步骤(折腾了三天终于装好): 安装LT软件–禁用签名–加载含数字签名的第三方inf–添加注册表/安装驱动/添加密钥–成功破解 一、下载对应的LightTools 8.4版本软件,如下图为解压后的文件: 并选择 进行默认安装。 二、禁用数字签名。这里我用了两种方法,一种不行就换另一种,最终成功禁用。 方法1: 1、输入“cmd”并以管理员身份运行; 2、输入或复制 bcdedit.exe /set nointegritychecks on (此命令若没成功,再试bcded

weixin_45560953的博客 1万+

达梦数据库集群部署(主备)

达梦数据库集群部署(主备)

m0_71845127的博客 1461

记录使用docker安装gitlab

docker安装gitlab

开源低代码平台-Microi吾码-框架C#.NET8 + Vue3 241

手把手教你用Gazebo和VINS-MONO搞定VIO SLAM仿真(附Realsense D435i模型配置)

本文详细介绍了如何使用Gazebo和VINS-MONO构建VIO SLAM仿真环境,包括Realsense D435i模型的配置与集成。通过实战指南,帮助开发者快速搭建高保真仿真平台,优化VIO性能,并解决常见问题,适用于机器人感知与定位导航领域。

weixin_30682415的博客 158

Docker笔记备忘录

一、安装Docker 1、curl -fsSL https://get.docker.com -o get-docker.sh 2、sudo sh get-docker.sh 二、常用指令 启动docker服务 service docker start 启动容器 docker start 容器ID 删除容器 docker rm 容器ID 删除镜像 d...

Mentses的博客 287

实用软件工程(第2版)吕云翔编简答题部分答案(自用整理)

整理自用

m0_61217768的博客 4107

【脑电信号】脑电信号EEG形态学滤波处理【含Matlab源码 4023期】

脑电信号EEG形态学滤波处理 完整的代码,包运行;运行操作视频见优快云资源!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 823

Docker安装与应用(个人记录备忘)

-volumes-from 表示新启动的容器centos-05继承 centos-02的全部卷,共享。后台启动9090端口映射容器内8080,启动后的容器名称卫xiesijietomcat-a 挂载webapps以及日志目录。docker commit -m "提交的信息描述" -a "作者" 容器id 目标镜像名:tag版本。-d 表示后台启动 -p 表示端口映射 -v 表示宿主机和容器内部文件挂载。CMD echo "---------end----------" #打印end。

qq_50580366的博客 1974

TC3XX - MCAL知识点(三十五):Tasking编译器下,Tc3xx的MCAL代码如何使用多核,多核中断、多核任务、多核外设之间的MCAL配置与代码例程

文章用于记录在裸机情况下使用多核Tc387芯片,如何高效运行以及正确的代码、工程属性、链接文件配置等问题,相互结合、相互影响的地方,以示后续使用记录。

梦想技术家 960

津津乐道设计模式 - 备忘录模式详解(让你知道文本编辑器是如何还原历史操作内容)

本章节主要介绍了备忘录模式、备忘录模式适用场景、以日常使用的文本编辑器来演示备忘录模式,如果本文对你有用,欢迎关注收藏评论,后续将陆续推出更多优质的博文与大家一起分享交流~ 原创不易转载请注明出处:CSND - Micro麦可乐的博客

Micro麦可乐的博客 3699

(七)独立按键

(七)独立按键

m0_52555663的博客 1713

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

【备忘】记录 Docker 的安装和基本使用

CentOS 7 下安装 Docker 摘自 菜鸟教程 Docker 要求 CentOS 系统的内核版本高于 3.10 通过 uname -r 命令查看你当前的内核版本 [root@runoob ~]# uname -r 复制代码 移除旧的版本 [root@runoob ~]# yum remove docker 复制代码 安装一些必要的系统工具 [root@runoob ~]# yum...

weixin_34309435的博客 86

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

记录安装docker-compose编排

安装docker-compose编排

开源低代码平台-Microi吾码-框架C#.NET8 + Vue3 294

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Docker操作备忘录

文章目录导出和导入容器慎用docker commit使用dockerfile定制镜像参考 导出和导入容器 导出:docker export ${容器id} > ${文件名}.tar eg. docker export 7691a814370e > ubuntu.tar 导入容器快照:docker import ${文件名}.tar [可选:仓库名:tag] eg. docke...

UnknownPlayer的博客 353

Docker 常用操作命令备忘

本文收集汇总了日常使用 docker 过程中遇到的一些常用的命令,可以供开发过程中查阅和使用。

Becomin' Charles 2156

【备忘录】docker-maven-plugin 使用

在使用docker-maven-plugin 插件时,经常会碰到一些奇怪的问题: 比如: 1、docker远程访问时,认证安全问题? 2、dockerHost 访问地址准确性? 3、需要多个tag时如何处理? 4、push 到仓库时,需要保留历史记录问题?

Qinghub‘博客 1007
上一篇: 关于python3中字节类型的一个小问题(记录)
下一篇: Ubuntu一些命令
Malloc_New
博客等级 码龄11年 0粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值