Docker的安装及使用摘要

本文分享一些在docker安装及使用过程中的部分要点,会持续更新,供参考。

1. docker安装

1.1 在ubuntu系统安装

安装指定版本的docker。

# 更新时间:2024年6月23日# docker官方的源无法安装,采用阿里云的源安装docker
# 更新软件包索引:
sudo apt-get update
# 安装依赖包以使apt能够通过HTTPS使用仓库:
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
# 添加阿里云Docker官方的GPG密钥:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 向sources.list中添加Docker仓库地址:
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# 再次更新软件包索引:
sudo apt-get update
# 安装最新版本或指定版本的Docker CE:
sudo apt-get install docker-ce
# 指定版本:docker-ce=<VERSION_STRING>
# 要替换<VERSION_STRING>为23.0.1版本的实际版本字符串,可以通过以下命令查找可用版本:
apt list -a docker-ce
# 找到23.0.1对应的版本字符串后,将其替换到上述命令中。
# 输出如下:
# ...
# docker-ce/jammy 5:23.0.1-1~ubuntu.22.04~jammy amd64
# docker-ce/jammy 5:23.0.0-1~ubuntu.22.04~jammy amd64
# ...
# 
# 选择字符串:5:23.0.1-1~ubuntu.22.04~jammysudo apt-get install docker-ce=5:23.0.1-1~ubuntu.22.04~jammy docker-ce-cli=5:23.0.1-1~ubuntu.22.04~jammy

1.2 在centos系统安装

安装指定版本的docker。

# 更新时间:2024年7月2日# 卸载旧版本的 Docker(如果有)
sudo yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine# 更新yum源
sudo yum update -y# 安装docker依赖包
sudo yum install -y yum-utils# 设置docker仓库源,阿里云
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 更新缓存
sudo yum makecache fast# 安装
# 指定版本
# sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
yum install docker-ce-23.0.1 docker-ce-cli-23.0.1 containerd.io# 启动Docker服务
sudo systemctl start docker# 使Docker服务开机自启
sudo systemctl enable docker# 验证Docker安装
sudo docker --version

1.3 镜像仓库设置

镜像使用优先级:官方地址 > 镜像地址 > 阿里云地址

2024年6月8日:国内大量docker镜像站被关闭。

以下可参考:

小陈的容器镜像站 (qq.com)

使用 Docker Hub 官方镜像,可以加入到 daemon.json 文件中。

这样就可以使用正常的命令进行拉取镜像,系统会自动使用代理进行拉取。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://docker.chenby.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

2. 常用指令

docker run 安装
docker ps 查看当前运行中的容器
docker rm container-id 删除指定 id 的容器
docker stop/start container-id 停止/启动指定 id 的容器
# 删除容器前,一定要先停止容器docker image 镜像相关操作
docker images 查看镜像列表
docker rmi image-id [image-id] 删除指定 id 的镜像,可以是多个 -f 强制删除docker volume ls 查看 volume 列表
docker network ls 查看网络列表
docker network prune 删除所有无用的网络
docker network rm xxx  删除某个网络# 传输文档到docker容器内
docker cp xxx mycontainer:/xxxx/
# https://blog.51cto.com/u_16213393/8992972 # 参数含义
docker -p 宿主端口:容器端口
# 外部访问时,采用宿主端口docker --name xxxx  # 指定容器的名称-d # 后台模式运行容器docker logs -ft --tail -F xxxx(容器id)# 进入容器内部 容器ID
docker exec -it fee23dbcad6a /bin/bash

3. docker网络配置

常用网络相关指令:

# 查看网络
docker network ls
# 查看bridge底层细节
docker network inspect xxxx(network_id / name)
# 创建单机桥接网络,名为localnet
docker network create -d bridge localnet
# 指定ip网段创建
docker network create xxxx --subnet 172.20.0.0/16  # 根据需要调整
# 删除网络
docker network rm xxxx

关于为容器创建自定义网络时出现:user specified IP address is supported only when connecting to networks with user configured subnets。错误的解决办法。

docker中,只有使用 --subnet创建的网络才能指定静态IP。因此在使用docker-compose或者docker run命令创建容器时,如果需要指定,则可以使用 :

    --subnet创建网络(用来指定ip段)

    --gateway(用来指定网关)

要指定静态IP,可以先通过network create来创建,然后在docker-compose.yml 文件中配置添加到这个网络。

也可以在 docker-compose.yml 文件中直接配置 network 网络。

但要注意相关IP网段是否与已有网段重复。

参考脚本:

tbgfastgpt2:container_name: tbgfastgpt2# image: ghcr.io/labring/fastgpt:v4.8.5 # git# image: registry.cn-hangzhou.aliyuncs.com/xxxxx/xxxxx:v4.8.x # 阿里云image: registry.cn-hangzhou.aliyuncs.com/xxxx/xxxx:4.8.x.xxx.xxxports:- 3005:3000networks:tbgfastgpt2:ipv4_address: 172.20.0.8......networks:tbgfastgpt2:driver: bridgeipam:driver: defaultconfig:- subnet: 172.20.0.0/24  # 定义网络的子网范围

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/40577.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024.7.4作业

1.梳理笔记(原创) 2. 终端输入一个日期&#xff0c;判断是这一年的第几天 scanf("%d-%d-%d",&y,&m,&d); 闰年2月29天&#xff0c;平年2月28天 #include <stdio.h> int main(int argc,const char *argv[]) { int y0,m0,d0,sum0,i0; …

[论文笔记] pai-megatron-patch Qwen2-72B-CT 后预训练 踩坑记录

经过以下修改,Qwen2-72B-CT可以正常训练,并且benchmark指标和loss正常。 Qwen2-72B-CT开长文本,256卡,16K会OOM,目前能开11K(11008)。 开context parallel需要后续测试。 [论文笔记] Pai-megatron Qwen1.5-14B-CT 后预训练 踩坑记录_pai-megatron-patch 多机-CSDN博客 …

数据库表导出到excel:前置知识1 ALL_TAB_COLS

ALL_TAB_COLS 当前用户可访问的表、视图和群集的列的相关信息 其中几个字段: OWNER&#xff1a;表&#xff0c;视图及群集的Owner   TABLE_NAME&#xff1a; 表&#xff0c;视图及聚簇的名称   COLUMN_NAME&#xff1a; 字段名   DATA_TYPE &#xff1a;字段的数据类型…

python 字典 一个key 多 value 遍历

在Python中&#xff0c;如果一个键对应多个值&#xff0c;你需要确保这些值被存储在一个容器类型&#xff08;如列表或集合&#xff09;中。你可以使用默认字典&#xff08;collections.defaultdict&#xff09;来简化这个过程。以下是一个示例代码&#xff1a; from collecti…

python vtk lod 设置

在Python中使用VTK库设置Level of Detail (LOD)可以通过vtkLODProp3D类来实现。这个类允许你为一个模型指定不同级别的细节表示&#xff0c;从而在渲染时根据模型与摄像机的距离自动切换到更适合的表示。 以下是一个简单的例子&#xff0c;展示如何使用vtkLODProp3D来设置LOD&…

万字长文MySQL Binlog 详细指南

目录 第一阶段 MySQL Binlog 基础用法1. Binlog基本概念1.1 什么是Binlog1.2 Binlog的作用1.3 Binlog格式 2. 配置和管理Binlog2.1 开启Binlog2.2 设置Binlog文件大小和保留时间2.3 查看Binlog状态 3. Binlog的实际应用3.1 数据恢复3.2 主从复制3.3 审计 4. Binlog工具使用4.1 …

收银系统源码-收银台营销功能-购物卡

1. 功能描述 购物卡&#xff1a;基于会员的电子购物卡&#xff0c;支持设置时效、适用门店、以及可用商品&#xff1b;支持售卖和充值赠送&#xff0c;在收银台可以使用&#xff1b; 2.适用场景 会员充值赠送活动&#xff0c;例如会员充值1000元&#xff0c;赠送面值100元购…

LeetCode题解:205. 同构字符串,哈希表,JavaScript,详细注释

原题链接&#xff1a; https://leetcode.cn/problems/isomorphic-strings/ 理解题意&#xff1a; s "foo"和t "bar"&#xff0c;s中的o同时映射了a和r&#xff0c;不正确s "badc"和t "baba"&#xff0c;t中的a同时映射了a和c&am…

145-四路16位125Msps AD FMC子卡模块

一、概述 该板卡可实现4路16bit 125Msps AD 功能&#xff0c;是xilinx开发板设计的标准板卡。FMC连接器是一种高速多pin的互连器件&#xff0c;广泛应用于板卡对接的设备中&#xff0c;特别是在xilinx公司的所有开发板中都使用。该AD&#xff0c;DA子卡模块就专门针对xilinx开发…

pytorch镜像如何通过dockerfile和启动脚本封装tensorboard

一&#xff1a;dockerfile文件内容&#xff0c;这里我们以pytorch/pytorch:1.13.1-cuda11.6-cudnn8-devel基础镜像为例&#xff1a; # 定义基础镜像 FROM pytorch/pytorch:1.13.1-cuda11.6-cudnn8-devel# 设置非互动模式以避免一些安装过程中的对话框 ENV DEBIAN_FRONTENDnoni…

go语言并发编程2-runtime

runtime.Gosched() 作用是让出CPU时间片&#xff0c;重新等待安排任务。执行runtime.Gosched()后&#xff0c;其他协程优先执行&#xff0c;当前所在协程最后执行。 package mainimport ("fmt""runtime" )func main() {go func(s string) {for i : 0; i …

网络爬虫之爬虫逆向的学习途径、相关网站和学习资料

网络爬虫之爬虫逆向的学习途径、相关网站和学习资料 演练和学习网站 CTFTIME 一个全球性的CTF&#xff08;Capture The Flag&#xff09;赛事信息平台&#xff0c;收录了各类CTF比赛。你可以通过参加这些比赛来提升自己的逆向工程和安全技能。 安全客 由360公司运营的安全资讯…

iview 里面的ip 组件封装_iview ipinput

</ul><div v-if"erro_ip" style"color: red;">ip格式错误!</div> </div>最终的效果图如下&#xff1a;![](https://img-blog.csdnimg.cn/20190513170751269.png)最后为了方便大家的沟通与交流请加QQ群&#xff1a; [625787746]( )…

Github 2024-07-03开源项目日报Top10

根据Github Trendings的统计,今日(2024-07-03统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量JavaScript项目3Jupyter Notebook项目2Python项目2C++项目1Rust项目1TypeScript项目1Vue项目1Go项目1Moby 项目 - 软件容器化的开源工具集 创建…

波动方程 - 波动方程是个什么方程

波动方程 - 波动方程是个什么方程 flyfish 波动方程或称波方程&#xff08;英语&#xff1a;wave equation&#xff09;是一种二阶线性偏微分方程,波动方程是双曲型偏微分方程的最典型代表. 微分方程 微分方程&#xff08;Differential Equation&#xff09;是一类包含未知…

C++语言特性层(Language Features Layer)

1.语言基础 &#xff08;1&#xff09;指针 定义&#xff1a; 指针是一个变量&#xff0c;用于存储另一个变量的内存地址。 特性&#xff1a; 可变性&#xff1a;指针可以重新指向不同的变量。空指针&#xff1a;指针可以为空&#xff08;即指向 nullptr&#xff09;。大小&am…

羊大师:羊奶养生,解锁健康之道的新密码

在探寻健康与养生的旅途中&#xff0c;我们总渴望找到那把开启健康之门的钥匙。而今&#xff0c;羊奶以其独特的营养价值和健康益处&#xff0c;正悄然成为那把解锁健康之道的新密码。 羊奶&#xff0c;自古以来便是自然赋予的珍贵礼物。它富含优质蛋白、多种维生素及矿物质&am…

nginx的重定向(rewrite)

1、location 匹配 location匹配的就是后面的URL&#xff0c;对访问的路径做访问控制或者代理转发 共有三个匹配&#xff1a;精确匹配、正则匹配、一般配 a、精确匹配 格式&#xff1a;location/ 对字符串进行完全匹配&#xff0c;必须完全合 c、正则匹配 ^~&#xff1a;前…

Android 抓取 CPU 资源信息

在 Android 开发中&#xff0c;使用 ADB&#xff08;Android Debug Bridge&#xff09;命令获取 CPU 资源信息有很多重要的作用。这些命令可以帮助开发者在多种情况下分析和优化应用性能、解决问题以及进行系统性调试。 以下列举一些 ABD 获取 CPU 资源信息的命令 获取 CPU 核…

Docker镜像加速配置

由于当前运营商网络问题&#xff0c;可能会导致您拉取 Docker Hub 镜像变慢&#xff0c;索引可以配置阿里云镜像加速器。阿里云登录 - 欢迎登录阿里云&#xff0c;安全稳定的云计算服务平台 每个人镜像地址都不一样&#xff0c;需要登陆阿里云自行查看&#xff0c;地址在上面&a…