Docker 的使用-01

一、Docker 设置和镜像源

1.1、设置

#查看 Docker 信息
docker version
docker info#守护线程启动:
systemctl daemon-reload 重启Docker服务:
systemctl restart docker#关闭Docker服务
sudo systemctl stop docker#启动Docker服务
systemctl start docker#设置容器开机自启动
#法一 创建容器、使用docker run命令时,添加参数--restart=always,表示该容器随docker服务启动而自动启动
docker run --name mysqlLatest -p 3307:3306 --restart=always -d mysql#若容器已启动,希望设置开机自启动
docker update 容器名/容器ID --restart=always#清理未使用的容器
docker container prune#清理未使用的镜像
docker image prune#清理未使用的网络
docker network prune#清理构建缓存
docker builder prune

1.2、Docker镜像源配置

{"registry-mirrors": ["https://q5qydbjv.mirror.aliyuncs.com","https://docker.m.daocloud.io","https://dockerproxy.com","https://docker.mirrors.ustc.edu.cn","https://docker.nju.edu.cn"]
}

二、镜像、容器

2.1、镜像

#查看Docker 镜像
docker images
docker images -a#查看Docker进程信息
docker ps#查看日志
docker logs -f a21ad4af2d71
docker logs --tail 1000 47c2dfdcbc2c#保存镜像(精简版)
docker commit 7ca736d99653 my_image#加载本地镜像并设置标签
docker load -i my_image.tar
docker tag my_image:latest my_image:v1#从Docker Hub查找/搜索镜像
docker search [options] TERM      
docker search -f STARS=9000 mysql  #搜索stars收藏数不小于10以上的mysql镜像#拉取nginx镜像
docker pull nginx:latest
拉取指定版本镜像
docker pull 镜像名:tag   #删除镜像
docker rmi 镜像名/镜像ID     #删除镜像 
docker rmi -f 镜像名/镜像ID  #强制删除
docker rmi -f 镜像名 镜像名 镜像名     #删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f $(docker images -aq)  #删除全部镜像,-a 意思为显示全部, -q 意思为只显示IDdocker image rm 镜像名称/镜像ID  #强制删除镜像#查看Docker镜像内的文件:
docker run -it --rm 镜像名称 /bin/sh#从容器内拷贝文件到主机上
docker cp  容器ID:容器内路径 目的主机路径
docker cp 3065f084c80d:a.txt a.txt#拉取镜像 镜像源网不通:
Error response from daemon: Get "https://registry-1.docker.io/v2/":dial tcp 108.160.165.139:443: i/o timeout#运行 Nginx 并挂在目录/文件
docker run -d --name nginx-test -p 8080:80 -v 
/mnt/nginx-mnt/nginx.conf:/etc/nginx/nginx.conf -v 
/mnt/nginx-mnt/logs:/var/log/nginx -v 
/mnt/nginx-mnt/html:/usr/share/nginx/html -v 
/mnt/nginx-mnt/conf:/etc/nginx/conf.d --privileged=true nginx

2.2、容器

#显示正在运行的容器
docker ps
#-a,--all  显示全部容器,包括已停止的(默认只显示运行中的容器)
docker ps -a#容器怎么来? docker run 创建并运行一个容器,处于运行状态。
#--name 给要运行的容器起的名字;   -p 将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口;   -d 表示可后台运行容器 (守护式运行)。具体样例见下
docker run --name containerName -p 80:80 -d nginx#让一个运行的容器暂停
docker pause 容器名/容器ID
#让一个容器从暂停状态恢复运行
docker unpause name
#停止一个运行的容器(杀死进程、回收内存,仅剩文件系统)
docker stop name
#让一个停止的容器再次运行
docker start name
#重启容器
docker restart name
#docker stop与docker kill的区别:都可以终止运行中的docker容器。类似于linux中的kill和kill -9这两个命令,docker stop与kill相似,docker kill与kill -9类似
#杀掉一个运行中的容器
docker kill 容器名
#更换容器名
docker rename 容器名 新容器名#删除容器
#删除容器  
docker rm 容器名/容器ID
#强制删除
docker rm -f CONTAINER#删除多个容器 空格隔开要删除的容器名或容器ID
docker rm -f 容器名 容器名 容器名
#删除全部容器
docker rm -f $(docker ps -aq)#查看容器运行日志
docker logs 容器名
#持续跟踪日志
docker logs -f 容器名
#查看末尾多少行
docker logs -f --tail=20 容器名#进入容器执行命令,两种方式 docker exec 和 docker attach,推荐docker exec
#方式一 docker exec。
docker exec -it 容器名/容器ID bash
#方式二 docker attach,推荐使用docker exec
docker attach 容器名/容器ID#从容器退到自己服务器中(不能用ctrl+C)
exit      #直接退出。未添加-d(持久化运行容器)时,执行此参数 容器会被关闭
ctrl+p+q  #优雅退出。无论是否添加-d参数,执行此命令容器都不会被关闭

三、其它操作

3.1、Linux的一些操作

#登录 149 服务器
ssh -p 9133 root@**.**.*.149#退出149服务器
Ctry + D1.编辑文本
vim
# 不保存-退出
:q
# 不保存-强制退出
:q!
# 保存-退出
:wq安装 rar
wget https://www.rarlab.com/rar/rarlinux-x64-6.0.2.tar.gz
tar xf rarlinux-x64-6.0.2.tar.gz
tar -zxvf rarlinux-x64-6.0.2.tar.gz
cd rar
make
make install
解压文件:
unrar x ***.rar
unrar x dist.rar

 

3.2、重建 Overlay2 目录

#停止 Docker 服务:首先停止 Docker 服务,以防止数据的进一步损坏。
sudo systemctl stop docker#重建 Overlay2 目录:可以通过重新初始化 Docker 数据目录来重建 Overlay2 目录。
sudo rsync -a /var/lib/docker /var/lib/docker-backup
sudo rm -rf /var/lib/docker
sudo rsync -a /var/lib/docker-backup /var/lib/docker#启动 Docker 服务:重新启动 Docker 服务,确保 Overlay2 目录已经被重建。
sudo systemctl start docker
sudo systemctl restart docker

3.3、常用Shell脚本

1.

#!/bin/bash
data_path="/data"
data_rar_path="/data/web"
web_html_path="/mnt/nginx-mnt/html"cd $data_path# 删除 data/dist.rar
rm -f /data/dist.rar# 删除 dist 文件
rm -rf /mnt/nginx-mnt/html/dist# 移包
mv $data_rar_path/dist.rar $data_path# 解包
unrar x dist.rar# 移包
mv dist/ $web_html_path# 删除 dist.rar
rm -f $data_rar_path/dist.rar

2.

#!/bin/bash
dir="/data"
dockerfile_path="/data"cd $dir
service_name="sdp"
service_prot=8679
#查看镜像id
IID=$(docker images | grep "$service_name" | awk '{print $3}')
echo "IID $IID"
CID=$(docker ps -a | grep "$service_name" | awk '{print $1}')
echo "CID $CID"
if [ -n "$CID" ]
thenecho "exist $SERVER_NAME CONTAINER,CID=$CID"#删除容器echo "stop CONTAINER..."docker stop  $CIDecho "REMOVE CONTAINER..."docker rm $CID
fi
if [ -n "$IID" ]
thenecho "exist $SERVER_NAME image,IID=$IID"#删除镜像docker rmi -f $service_nameecho "delete $SERVER_NAME image"#构建docker build -f  $dockerfile_path/Dockerfile -t $service_name  .echo "build $SERVER_NAME image"
elseecho "no exist $SERVER_NAME image,build docker"#构建#cd docker build -f  $dockerfile_path/Dockerfile -t $service_name  .echo "build $SERVER_NAME image"
fi
#启动
echo "配置完成启动中..."
docker run --user=0:0 --hostname dlsdp --add-host dlsdp:127.0.0.1 -d --name $service_name --net=host -p $service_prot:$service_prot -v /data/logs:/etc/sdp/logs  $service_name

3.3、挂数据卷

3.4、挂配置文件

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

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

相关文章

【安装JDK和Android SDK】

安装JDK和Android SDK 1 前言2 下载2.1 下载途径2.2 JDK下载和安装2.2.1 下载2.2.2 安装并配置环境变量2.2.3 验证 2.3 SDK下载和安装2.3.1 下载2.3.2 安装2.3.3 环境变量配置2.3.4 验证 1 前言 在软件开发中,Android应用开发通常使用Android Studio,但…

低成本轻量化5G网络部署redcap技术

RedCap(Reduced Capability)轻量化5G路由器旨在提供低功耗、成本效益高、性能较5G完整版稍微降低的解决方案。用于满足工业物联网(IoT)、消费电子产品和轻量级5G设备的需求。通过对5G技术进行一定程度的“功能裁剪”,降…

【华为】配置RIP协议

RIP(Routing Information Protocol)是一种内部网关协议(IGP),主要用于小型网络中的动态路由。RIP有两个主要版本:‌RIPv1和‌RIPv2,它们之间存在一些关键区别: ‌分类支持‌&#xf…

医疗图像之基于UNet3+(UNet+++)的X射线图像牙齿分割

第一步:准备数据 X射线图像牙齿分割,总共有2000张 第二步:搭建模型 UNet3主要是参考了UNet和UNet两个网络结构。尽管UNet采用了嵌套和密集跳过连接的网络结构(见图1(b)红色三角区域),但是它没有直接从多尺…

探索机器学习中的特征选择技术

在机器学习和数据科学领域,特征选择是一个关键步骤,它不仅有助于提高模型的性能,还能帮助我们更好地理解数据。本文将深入探讨特征选择的重要性、常见方法以及如何在实际项目中应用这些技术。 一、特征选择的重要性 降低维度:减…

二叉查找树(Binary Search Tree)Java语言实现

一、二叉查找树 二叉查找树(Binary Search Tree),也称为二叉搜索树、有序二叉树(Ordered Binary Tree)或排序二叉树(Sorted Binary Tree)。 是指一棵空树或者具有下列性质的二叉树&#xff1a…

Android 无Bug版 多语言设计方案!

出海业务为什么要做多语言? 1.市场扩大与本地化需求: 通过支持多种语言,出海项目可以触及更广泛的国际用户群体,进而扩大其市场份额。 本地化是吸引国际用户的重要策略之一,而语言本地化是其中的核心。使用用户的母语…

NFT Insider #151:The Sandbox 推出 Alpha 第4季;腾讯或将收购育碧

市场数据 加密艺术及收藏品新闻 Beeple 将于 11 月在南京德基美术馆举办个人首展 著名数字艺术家 Beeple 近日在X平台发布视频,宣布将于 2024 年 11 月 14 日在南京德基美术馆举办个人首次展览,名为《Beeple:来自合成未来的故事》。该展览将…

【计算机网络】详谈TCP协议确认应答机制捎带应答机制超时重传机制连接管理机制流量管理机制滑动窗口拥塞控制延迟应答

一、TCP 协议段格式 1.1、4位首部长度 4位首部长度的基本单位是4字节,也就是说如果4位首部长度填6,那报头长度就是24字节。报头长度的取值范围为[0,60]字节,也就是说选项的最大长度为40字节。 二、确认应答机制 发送数据和发送应答&#x…

vue3 在store的index.js

导入vuex,在store的index.js创建store对象 在main.js挂载store import store from ./storenew Vue ({/* 将store对象实例挂载到vue实例中 所有组件就可以直接从store中获取全局数据了*/ store, render: h > h(App) }).$mount(#app) 在store中的index.js进行声明…

Chainbase :链原生的 Web3 AI 基建设施

“随着 Chainbase 在生态系统和市场方面的进一步拓展,其作为链原生 Web3 AI 基建设施的价值将愈发显著。” 算法、算力和数据是 AI 技术的三大核心要素。实际上,几乎所有的 AI 大模型都在不断革新算法,以确保模型能够跟上行业的发展趋势&…

react实现实时计时的最简方式

js中时间的处理,不借助于moment/dayjs这样的工具库,原生获取格式化的时间,最简单的实现方式可以参考下面这样。 实现效果 代码实现 封装hooks import { useState, useEffect } from "react";export function useCountTime() {c…

手动nginx平滑升级

一、下载nginx安装包 wget http://nginx.org/download/nginx-1.24.0.tar.gz 二、解压缩 tar -zxf nginx-1.24.0.tar.gz 三、进入解压缩后文件 3.1 cd /usr/local/nginx/sbin 预编译 进入如下命令 ./configure -prefix/usr/local/nginx --with-http_ssl_module --with…

免费设计元素下载,设计师必备,建议收藏!

设计师找设计素材、免抠元素,背景图等等,就上这6个网站,免费下载! 1、菜鸟图库 免抠图片素材-免抠图片模板免费下载 - 菜鸟图库 这是一个专门为新手设计师提供免费设计素材的网站,站内有非常多设计素材,其…

为什么说期限提醒系统是项目申报的必备工具?

在项目申报的征程中,时间就是生命,时机决定成败。然而,当前项目申报时间管理却面临着诸多棘手的问题,这也让期限提醒系统成为了必不可少的必备工具。那么,它究竟为何如此关键? 目前项目申报时间管理方面面临…

uniapp 锁屏显示插件 Ba-LockShow(可让vue直接具备锁屏显示能力)

简介 Ba-LockShow 是一款可以直接使uniapp的vue界面在锁屏页展示的插件。 支持使vue直接具备锁屏显示能力支持设置锁屏显示和不显示支持唤醒屏幕 截图展示(仅参考) 支持定制、本地包、源码等,有建议和需要,请点击文章结尾“Unia…

世界空间到观察空间的矩阵

1)世界空间到观察空间的矩阵 2)Addressable在不同工程中如何实现打包和加载 3)如何设计角色在下蹲时允许跳跃 4)如何实时编辑玩家的近裁剪面距离 这是第403篇UWA技术知识分享的推送,精选了UWA社区的热门话题&#xff0…

算法系列之十二:多边形区域填充算法--扫描线填充算法(有序边表法)

二、扫描线算法(Scan-Line Filling) 扫描线算法适合对矢量图形进行区域填充,只需要直到多边形区域的几何位置,不需要指定种子点,适合计算机自动进行图形处理的场合使用,比如电脑游戏和三维CAD软件的渲染等等…

智能优化算法-蛇优化算法(SO)(附源码)

目录 1.内容介绍 2.部分代码 3.实验结果 4.内容获取 1.内容介绍 蛇优化算法 (Snake Optimization Algorithm, SO) 是一种基于群体智能的元启发式优化算法,它模拟了蛇的捕食行为、运动模式和社会互动,用于解决复杂的优化问题。 SO的工作机制主要包括&a…

二分类-多机器学习模型算法实现对比

准备数据 import pandas as pd import numpy as np import matplotlib.pyplot as plt from sklearn.preprocessing import StandardScaler from sklearn.preprocessing import OneHotEncoder from sklearn.preprocessing import PolynomialFeatures from sklearn.compose impo…