网站运营小白可以做吗/上海关键词优化的技巧
容器与镜像的区别
image镜像
- Docker image是一个
read-only
文件,位于磁盘上 - 这个文件包含文件系统,源码,库文件,依赖,工具等一些运行application所需要的文件
- 可以理解成一个模板
- docker image具有分层的概念
container容器
- 一个运行中的docker image,位于内存中
- 实质是复制image并在image最上层加上一层
read-write
的层(称之为container layer,容器层) - 基于同一个image可以创建多个container
容器的基本操作
容器的基本操作都是命令docker container
开头,大部分情况下可以简写为docker
,例如docker container run
可以简写为docker run
。
下面是docker container
开头的命令列表:
$ docker container --helpUsage: docker container COMMANDManage containersCommands:attach Attach local standard input, output, and error streams to a running containercommit Create a new image from a container's changescp Copy files/folders between a container and the local filesystemcreate Create a new containerdiff Inspect changes to files or directories on a container's filesystemexec Run a command in a running containerexport Export a container's filesystem as a tar archiveinspect Display detailed information on one or more containerskill Kill one or more running containerslogs Fetch the logs of a containerls List containerspause Pause all processes within one or more containersport List port mappings or a specific mapping for the containerprune Remove all stopped containersrename Rename a containerrestart Restart one or more containersrm Remove one or more containersrun Run a command in a new containerstart Start one or more stopped containersstats Display a live stream of container(s) resource usage statisticsstop Stop one or more running containerstop Display the running processes of a containerunpause Unpause all processes within one or more containersupdate Update configuration of one or more containerswait Block until one or more containers stop, then print their exit codes
docker container create
docker container create
只是新建一个容器,并不启动一个容器。
$ docker container create --name nginx -p 8899:80 nginx
5932d5e624f7cced52fb8f9282a01c5a112fba249236d028733c424ec7099a6e
docker container run
docker container run
新建并启动一个容器。
$ docker container run -d --name nginx -p 8899:80 nginx
ee86be635d8b0ff99e36796191da4ee5c34241f37dc0f66c8b21e2a85517e9de
选项:
- -d:表示以detach模式后台运行
- –name:为容器指定一个名字
- -p:端口映射,宿主机端口为8899映射到docker内端口80
docker container ls
docker container ls
查看启动的容器,也可以简写为docker ps
或者docker container ps
。
$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ee86be635d8b nginx "/docker-entrypoint.…" 2 minutes ago Up 2 minutes 0.0.0.0:8899->80/tcp, :::8899->80/tcp nginx
选项:
- -a:列出所有的容器(包括正在运行的和已停止运行的)
- -l:显示最近创建的容器
- -n:显示最近创建的n个容器
- -q:只显示容器ID
docker container stop
docker container stop
停止运行中的容器,后面需要带上容器的名称或者ID,ID可以只写前面几位,不需要写全,能根据ID前缀找到对应的唯一的容器即可,其他带ID的命令也类似。
$ docker container stop ee86be635d8b
ee86be635d8b$ docker container stop nginx
nginx$ docker container stop ee8
ee8
docker container start
docker container start
启动已停止的容器。
$ docker container start nginx
nginx
docker container restart
docker container restart
重启运行中的容器。
$ docker container restart nginx
nginx
docker container kill
docker container kill
强制停止运行中的容器。
$ docker container kill nginx
nginx
docker container rm
docker container rm
可以删除容器。
$ docker container rm nginx
nginx
如果容器的状态是正在运行中是不可以删除的,此时可以加上-f
选项来强制删除运行中的容器。
docker container logs
docker container logs
可以用来查看容器的日志。
$ docker container logs -f nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: info: Getting the checksum of /etc/nginx/conf.d/default.conf
。。。。。。
如果要实时的日志,可以使用-f
选项,类似于tail -f
命令。
docker container top
docker container top
可以用来查看容器内的进程情况,类似于top
命令。
$ docker container top nginx
UID PID PPID C STIME TTY TIME CMD
root 6083 6063 0 19:37 pts/0 00:00:00 nginx: master process nginx -g daemon off;
systemd+ 6144 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6145 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6146 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6147 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6148 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6149 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6150 6083 0 19:37 pts/0 00:00:00 nginx: worker process
systemd+ 6151 6083 0 19:37 pts/0 00:00:00 nginx: worker process
docker container inspect
docker container inspect
查看容器的详细信息,如镜像信息、环境变量、网络等。
$ docker container inspect nginx
。。。。。。
docker container exec
docker container exec
可以进入到运行中的容器并执行一个命令。
$ docker container exec -it nginx /bin/bash
root@11f5e64bb119:/#
docker container attach
docker container attach
同样可以进入到运行中的容器并执行一个命令。
docker container attach
进入容器然后退出会导致容器停止,而docker container exec
进入容器后退出不会导致容器停止,这是两者的区别。
$ docker container attach nginx
docker container cp
docker container cp
用来在宿主机和容器之间拷贝文件。
从宿主机拷贝文件到容器中:
$ docker container cp test.txt nginx:/home
从容器中拷贝文件到宿主机:
$ docker container cp nginx:/docker-entrypoint.sh .
docker container export
docker container export
是将一个容器导出为一个压缩的镜像。
$ docker container export nginx > nginx.tar.gz
后续如果要将这个压缩的镜像导入要使用docker image import
命令。
docker container commit
docker container commit
是将一个容器提交为为一个镜像。
$ docker container commit -m "nginx v1.0" nginx nginx:v1.0
sha256:0b36bf0f81dda62c4ced29e84d0b44a7c812bb643b2c1d898df0b8897f58c964
docker container diff
docker container diff
命令用于检查容器文件系统上文件或目录的更改。
$ docker container diff nginx
C /run
A /run/nginx.pid
C /var
C /var/cache
C /var/cache/nginx
A /var/cache/nginx/uwsgi_temp
A /var/cache/nginx/client_temp
A /var/cache/nginx/fastcgi_temp
A /var/cache/nginx/proxy_temp
A /var/cache/nginx/scgi_temp
C /etc
C /etc/nginx
C /etc/nginx/conf.d
C /etc/nginx/conf.d/default.conf
docker container pause
docker container pause
暂停一个或多个容器内的所有进程。
$ docker container pause nginx
nginx
使用docker container ls
可以看到容器的状态为pause
。
docker container unpause
docker container unpause
取消暂停一个或多个容器内的所有进程。
$ docker container unpause nginx
nginx
此时容器的状态又变为UP
。
docker container rename
docker container rename
重命名容器。
$ docker container rename nginx ng
docker container port
docker container port
列出容器的端口映射或容器的特定映射。
$ docker container port nginx
80/tcp -> 0.0.0.0:8899
80/tcp -> :::8899
docker container update
docker container update
可以更新一个或多个容器的配置,可以更新CPU、内存等配置信息。
具体可以更新的选项如下:
$ docker container update --helpUsage: docker container update [OPTIONS] CONTAINER [CONTAINER...]Update configuration of one or more containersOptions:--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0)--cpu-period int Limit CPU CFS (Completely Fair Scheduler) period--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota--cpu-rt-period int Limit the CPU real-time period in microseconds--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds-c, --cpu-shares int CPU shares (relative weight)--cpus decimal Number of CPUs--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)--kernel-memory bytes Kernel memory limit-m, --memory bytes Memory limit--memory-reservation bytes Memory soft limit--memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap--pids-limit int Tune container pids limit (set -1 for unlimited)--restart string Restart policy to apply when a container exits
下面的例子可以更改容器的重启策略:
$ docker container update --restart=no nginx
nginx
参数说明:
no
:默认策略,在容器退出时不重启容器on-failure
:在容器非正常退出时(退出状态非0),才会重启容器on-failure:3
:在容器非正常退出时重启容器,最多重启3次always
:在容器退出时总是重启容器unless-stopped
:在容器退出时总是重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
docker container wait
docker container wait
阻止一个或多个容器停止,然后打印退出代码。
$ docker container wait nginx
0
docker container prune
docker container prune
删除所有停止的容器。
$ docker container prune
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Deleted Containers:
5932d5e624f7cced52fb8f9282a01c5a112fba249236d028733c424ec7099a6e
容器运行的两种交互模式
attach模式
例如:
$ docker container run -p 80:80 nginx
通过这种方式创建的容器,容器会在前台执行。
容器的输入输出结果会反映到本地端,本地端的输入输出也会反映到容器,例如能在终端看到网页浏览器的 log,ctrl+c会让容器停止。
一般情况不推荐使用attach模式。
detach模式
例如:
$ docker container run -d -p 80:80 nginx
73773e7f0d409e4fba9b1ca6b0c0f2eebab7fa9b030dfe4d2c1cf2865c7275bd
通过这种方式创建的容器会在后台执行,命令行打印完容器的ID就结束了。
连接容器的shell
docker container run -it
创建一个容器并进入交互式模式:
$ docker container run -it nginx /bin/bash
root@7faafc56bd4f:/# exit
exit
如果带了-d
参数,-it
就不会生效。
docker container exec -it
在一个已经运行的容器里执行一个额外的command:
$ docker container run -d nginx
06d4f86b592e417c876bc66bd62f5ddbd3aeaa1c8c6dd93670ef73151f32a851$ docker container exec -it 06 bash
root@06d4f86b592e:/#
批量删除容器
$ docker container rm -f $(docker container ls -aq)
06d4f86b592e
7faafc56bd4f
docker container run背后发生了什么?
$ docker container run -d --publish 80:80 --name webhost nginx
- 在本地查找是否有nginx这个image镜像,但是没有发现
- 去远程的image registry查找nginx镜像(默认的registry是Docker Hub)
- 下载最新版本的nginx镜像 (nginx:latest 默认)
- 基于nginx镜像来创建一个新的容器,并且准备运行
- docker engine分配给这个容器一个虚拟IP地址
- 在宿主机上打开80端口并把容器的80端口转发到宿主机上
- 启动容器,运行指定的命令(这里是一个shell脚本去启动nginx)
相关文章:

【docker】容器的运行、停止、查看等基本操作
容器与镜像的区别 image镜像 Docker image是一个read-only文件,位于磁盘上这个文件包含文件系统,源码,库文件,依赖,工具等一些运行application所需要的文件可以理解成一个模板docker image具有分层的概念 container…...

Python|OpenCV-鼠标自动绘制图像(4)
前言 本文是该专栏的第4篇,后面将持续分享OpenCV计算机视觉的干货知识,记得关注。 在本专栏之前,有详细介绍使用OpenCV绘制图形以及添加文字的方法,感兴趣的同学可往前翻阅查看“Python|OpenCV-绘制图形和添加文字的方法(2)”。 而本文重点来介绍使用OpenCV来操作鼠标,以…...

IDEA 设置提示信息
IDEA 设置提示信息 File->Settings->Editor->Code Completion 取消勾选 Math case...

清理docker镜像方法
首先stop ps -a里的容器,然后rm容器,最后再rmi镜像 先停止容器 rm容器 docker rmi 镜像 删除后可以发现已经不存在...

windows 搭建 swoole开发环境(官网已支持)
第一步下载:swoole官网下载 swoole-cli-v5.0.3-cygwin-x64.zip 只支持 64 位的系统 第二步解压到指定文件夹:E:\phpstudy_pro\WWW\swoole-cli-v5.0.3-cygwin-x64 第三步设置环境变量:把解压后的文件夹下的 bin 目录路径配置到系统的 Path 环境…...

matlab的基本使用
matlab的基本使用,可以参考如下的教程:matlab教程 本文针对基本内容进行记录。 matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人&…...

hznuoj---python查找最大字母
Description 对于输入的每个字符串,查找其中的最大字母,在该字母后面插入字符串"(max)"。 Input 输入数据包括多个测试实例,每个实例由一行长度不超过100的字符串组成,字符串仅由大小写字母构成。注:A与a是…...

Leetcode---360周赛
题目列表 2833. 距离原点最远的点 2834. 找出美丽数组的最小和 2835. 使子序列的和等于目标的最少操作次数 2836. 在传球游戏中最大化函数值 一、距离原点最远的点 这题主要是理解题意,遇到L往左走,遇到R往右走,遇到_左右都可以走&#x…...

CocosCreator3.8研究笔记(三)CocosCreator 项目结构说明及编辑器的简单使用
我们通过Dashboard 创建一个2d项目,来演示CocosCreator 的项目结构。 等待创建完成后,会得到以下项目工程: 一、assets文件夹 assets文件夹:为资源目录,用来存储所有的本地资源,如各种图片,脚本…...

html5学习笔记18-web存储、web sql、web worker
https://www.runoob.com/html/html5-webstorage.html HTML5 web 存储,可替代 cookie 的本地存储方式。 客户端存储数据的两个对象:localStorage网站的 sessionStorage窗口的 localStorage.setItem("sitename", "菜鸟教程"); // 存…...

大数据专业毕业能从事什么工作
大数据从业领域很宽广,不管是科技领域还是食品产业,零售业等都是需要大数据人才进行大数据的处理,以提供更好的用户体验,优化库存降低成本预测需求。 大数据开发做什么? 大数据开发分两类,编写Hadoop、Spa…...

avalonia、WPF使用ScottPlot动态显示ECG心电图
文章目录 avalonia、WPF使用ScottPlot动态显示ECG心电图实现效果,动态效果懒得录视频了安装代码部分UpdateData方法就是用来更新心电图表的方法, 根据消息队列数据去更新是视图中的ScottPlot 图表 avalonia、WPF使用ScottPlot动态显示ECG心电图 avalonia…...

国内数学公式识别软件对比
1. 超级公式 官网 https://www.ocrmath.com/ 目前超级公式最好用 2. 极度公式 官网 https://jidugs.wrste.com/ 季度公式也还可以,之前提了一些改进用户建议,很久都不改,遂改用超级公式 3. SimpleTex 官网 https://simpletex.cn/ 最近才…...

SCOPE_IDENTITY什么意思
在关系型数据库中,SCOPE_IDENTITY()是一个用于获取最近插入的行的自增标识列值的函数。当向数据库表中插入一行数据时,如果表中的某列被配置为自增标识列(通常是主键列),数据库会自动为每个插入的行分配一个唯一的值&a…...

构建现代应用:Java中的热门架构概览
文章目录 1. 三层架构2. Spring框架3. 微服务架构4. Java EE(Enterprise Edition)5. 响应式架构6. 大数据架构7. 领域驱动设计(Domain-Driven Design,DDD)8. 安卓开发架构结论 🎉欢迎来到Java学习路线专栏~…...

Axure RP软件安装包分享(附安装教程)
目录 一、软件简介 二、软件下载 一、软件简介 Axure RP是一款专业的原型设计工具,它能够帮助用户创建高保真度的交互式原型。 Axure RP具有以下特点: 强大的交互设计功能:Axure RP提供了丰富的交互设计工具,用户可以通过拖拽和…...

关于微信小程序的生命周期
关于微信小程序的生命周期 onLaunch 官网App.vue/App.uvue | uni-app官网 问题描述:我现在有个小程序 取名为a 有个用户b 从来没有打开过小程序 那么他第一次打开小程序的时候会触发onLaunch 然后用户b退出了小程序 那么用户 b重新打开小程序的时候会触发 onL…...

【数据结构】带头双向循环链表及其实现
目录 1.带头双向循环链表 2.带头双向循环链表实现 2.1初始化 2.2销毁 2.3头插 2.4链表打印 2.5头删数据 2.6尾插数据 2.7尾删数据 2.8链表判空 2.9查找一个数据 2.10在pos位置前插入数据 2.11删除pos位置 2.12求链表的长度 2.顺序表和链表的比较 1.带头双向循环…...

问道管理:日换手率达20是好是坏?
关于股票商场的出资者而言,日换手率是一个非常重要的目标。日换手率是指股票当日买卖量与该股总股本之比。假如一只股票的日换手率过高,那么就意味着该股票的流动性较强,而假如日换手率过低,那么就意味着该股票的流动性较弱。 那…...

勃艮第葡萄酒是如何分级的?
勃艮第葡萄酒来自一个同名的地区:勃艮第,它位于法国中东部,在西部的卢瓦尔河和东部的索恩河之间。该地区最大的城市是欧塞尔、第戎、马孔和内韦尔。由于地处国家中心,勃艮第属于大陆性气候,夏季炎热,冬季寒冷。这种气候…...

使用awvs进行web安全扫描
1、安装 docker pull secfa/docker-awvs docker run -it -d -name awvs -p 13443:3443 --cap-add LINUX_IMMUTABLE secfa/docker-awvs2、账号密码 # https://ip:13443/ # 用户名:adminadmin.com # 密码:Admin1233、使用 ps:需要征得甲方的同意...

抖音小程序开发教学系列(1)- 抖音小程序简介
章节一:抖音小程序简介 1.1 抖音小程序的背景和概述 抖音小程序的发展背景和市场趋势: 抖音作为一款热门的短视频社交平台,用户群体庞大,社交共享的特性也为小程序的发展提供了广阔的空间。抖音小程序作为抖音在社交和用户粘性…...

【4.Vue兄弟组件之间传值-Bus总线】
1.概述 通过创建一个新的vm对象,专门统一注册事件,供所有组件共同操作,达到所有组件随意隔代传值的效果 也就是:各个组件内部要传输的数据或者要执行的命令信息,靠bus来通信。 2. 代码实现 2.1 全局引入 全局引入的话,就直接在main.js里面引入即可: // 创建 bus总线 V…...

element中Notification组件(this.$notify)自定义样式
1、自定义样式效果 2、vue代码 this.notifications this.$notify({title: ,dangerouslyUseHTMLString: true,duration: obj.remindMethod3 ? 0:4500,customClass: notify-warning,offset: 50,showClose: false,message: this.$createElement("div",null,[this.$…...

Manjaro安装使用
Manjaro安装使用 1.先更改镜像源:sudo pacman-mirrors -c China -g 2.安装第三方软件管理工具 :sudo pacman -Sy yay 导入GPG Key sudo pacman -Syy && sudo pacman -S archlinuxcn-keyring安装输入法 sudo pacman -S fcitx-im (#默认全部安装…...

【iOS】折叠cell
文章目录 前言一、实现效果二、折叠cell的实现原理三、实现折叠cell的高度变化四、实现选中点击的单元格总结 前言 在暑假的3GShare中用到了折叠cell控件,特此总结博客记录 一、实现效果 二、折叠cell的实现原理 首先我们需要知道ScrollView的是TableView的父类&a…...

无涯教程-Android - DatePicker函数
Android Date Picker允许您在自定义用户界面中选择由日,月和年组成的日期。为此功能,android提供了DatePicker和DatePickerDialog组件。 在本教程中,我们将通过DatePickerDialog演示日期选择器的用法, DatePickerDialog是一个包含DatePicker的简单对话框。 为了显示DatePicker…...

经纬恒润荣获吉利汽车“最佳价值贡献”奖
8月18日,以“全面向新 共创共赢”为主题,吉利汽车在宁波成功举行2023年电子电器核心供应商恳谈会。经纬恒润凭借在项目合作上持续创新、高效协同等优异表现,获得“最佳价值贡献”奖项。 作为国产汽车代表性品牌之一,吉利汽车积极推…...

【多线程】lock与synchronized的区别
相同点: 1、他们都是Java中用于解决线程安全的工具,两者的性能相差不大 不同点: 1、在实现上synchronized引入了偏向锁、轻量级锁、重量级锁、锁升级来优化加锁的性能,而lock则使用自旋锁来实现性能的优化 2、synchronized是J…...

什么是RTC
参考: https://zhuanlan.zhihu.com/p/377100294 RTC(Real time communication)实时通信,是实时音视频的一个简称,我们常说的RTC技术一般指的是WebRTC技术,已经被 W3C 和 IETF 发布为正式标准。由于几乎所…...