当前位置: 首页 > news >正文

做amazon当地电信屏蔽了网站可以直接进入的舆情网站

做amazon当地电信屏蔽了网站,可以直接进入的舆情网站,开广告公司利润大吗,个人网站制作软件Docker 一旦设置好了环境,日常就只要使用简单命令就可以运行和停止。 于是,我每次用的时候,都想不起来一些关键性的命令到底怎么用,特此记录。 一、镜像管理 从公有仓库拉取镜像 (对于使用苹果电脑 M1/M2/M3 芯片的 …

在这里插入图片描述

Docker 一旦设置好了环境,日常就只要使用简单命令就可以运行和停止。

于是,我每次用的时候,都想不起来一些关键性的命令到底怎么用,特此记录。

在这里插入图片描述

一、镜像管理

在这里插入图片描述

从公有仓库拉取镜像

(对于使用苹果电脑 M1/M2/M3 芯片的 MBP 来说,注意后面的 --platform 参数:

docker pull redis:7.0.5-alpine3.16 --platform linux/amd64

查看本地的镜像

docker images

删除一个本地镜像

docker image rm <REPOSITORY>:<TAG>

二、容器管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

查看本地的所有容器

docker container ls --all
docker ps -a

给本地镜像打上一个 tag

docker tag redis:7.0.5-alpine3.16 registry.selfhost.com/redis:7.0.5-alpine3.16

将镜像推送到私有仓库

docker push registry.selfhost.com/redis:7.0.5-alpine3.16

连接一个正在运行的 container

docker exec -it <CONTAINER-ID> /bin/sh

⚠️ 注意:使用 Apple Silicon 的 MacBook Pro (M1/2) 时候,docker 命令,默认拉取的镜像,构建的镜像,都是 linux/arm64/v8 的,但是,服务器开发的运行环境往往是 linux/amd64 的,注意交叉编译的问题。

三、Dockerfile

在这里插入图片描述

ADD 指令和 COPY 指令有什么异同?

ADD 指令和 COPY 指令有一些重叠,都是将一个文件从源路径复制到目的路径。不过 ADD 指令会有更多的内涵。

如果源路径是一个网址的话,ADD 指令会下载文件,如果源路径是一个压缩包的话,ADD 指令会解压缩。

最佳实践里,建议尽量使用 COPY 指令而不是 ADD 指令,因为 COPY 指令有更明确的功能。

一般建议,在解压缩的场景使用 ADD 指令,其他场景都是用 COPY 指令。

ENTRYPOINT 和 CMD 有什么异同?

今天我在看 Docker Hub 的一个镜像的代码,发现 Dockerfile 里同时指定了 ENTRYPOINT 和 CMD 两个指令,我没有细细研读过 Docker 的手册,不过看代码,以及看字面意思,就觉得这两个仿佛重复了。

放狗一搜,才知道,这两个指令的用途真的是一样的。如果在 Dockerfile 两个都不指定,则 docker run 默认不能自动运行镜像,必须指定一个命令。两者只指定一个,docker run 就可以不指定命令自动运行。不过仍然有细微的差别。

首先,ENTRYPOINT 的执行在 CMD 执行的前面。第二,CMD 命令,更容易被“覆盖”,docker run 如果后面带上命令的话,会覆盖 CMD;不过 ENTRYPOINT 指令的内容也可以覆盖,却是用参数 --entrypoint 来进行覆盖。第三,如果两个命令都存在的话,容器启动后,会用将两个命令的内容拼成一个,再执行。

这种设计会给容器的启动带来一些灵活性。

在 Alpine 中,如何定位问题

Alpine 是一个极简的操作系统,各种 Linux 发行版常见的命令,里面都是缺乏的,我试过了,如果不特意去安装的话,里面 vi 倒是有,其他什么都没有,比如 curl,ss,ip 等等命令,几乎都没有。

apk add iputils 可以安装 ip 和 ss 命令,用于查看 ip 地址,侦听端口等,便于开发时候调试用。

三、docker-compose.yml

docker-compose 主要用于容器编排,我们在生产环境,主要使用 K8S 或者类似的实现来完成容器编排。不过在本地环境下,也就是我们自己的开发机上,如果想实现容器编排,使用 docker-compose 是比较简单的一种方式。

常见的使用场景

  • 搭建开发环境
  • 自动化搭建测试环境
  • 单主机部署

command 指令

这个指令根据我理解,是可以覆盖 Dockerfile 中指定的 CMD 内容的,不过也只能出现一次。

四、常用镜像

PHP

最近,我在恢复练习我 PHP 的开发能力,这次我搭建环境采用 Docker 实现。

在本地启动一个 PHP 环境,最简单的办法是采用 PHP 官方提供的镜像,官方镜像制作精良,小巧精悍,强于自己胡乱构建一个。

官方镜像包含了一些特殊的命令:

  • docker-php-source
  • docker-php-ext-install
  • docker-php-ext-enable
  • docker-php-ext-configure

docker-php-source

创建 PHP 源代码目录,主要是为了一些必须编译扩展的场景,需要依赖 PHP 的源代码。

docker-php-source extract | delete

这个命令提供两个子指令,顾名思义,就是解压缩和删除。

docker-php-ext-install

安装一些官方注册过的扩展,比如我这次要调试一个 PHP 应用,默认的 php-apache 镜像中,竟然没有 pdo_mysql 扩展,这其实就是一个官方维护的扩展,在 PHP 的源码里面,通过编译参数开启的。

可以使用:

docker-php-ext-install mysql pdo_mysql

实现安装。

docker-php-ext-configure

需要编译安装的情况,这个指令用来完成编译配置。

下面是一个例子:

FROM php:7.1-fpm
RUN apt-get update \# 相关依赖必须手动安装&& apt-get install -y \libfreetype6-dev \libjpeg62-turbo-dev \libmcrypt-dev \libpng-dev \# 安装扩展&& docker-php-ext-install -j$(nproc) iconv mcrypt \# 如果安装的扩展需要自定义配置时&& docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \&& docker-php-ext-install -j$(nproc) gd

docker-php-ext-enable

如果有已经安装好的扩展,可以使用这个命令进行激活。

docker-php-ext-install

安装编译好的扩展。

参考

Dockerfile: ENTRYPOINT 和 CMD 的区别 英文版

Dockerfile 最佳实践 英文版

Docker PHP安装扩展步骤详解

The Ultimate Docker Cheat Sheet

http://www.dt0577.cn/news/52563.html

相关文章:

  • 快速 模板 做网站百度平台电话多少
  • 营销型企业网站建设 广义的空间友情链接代码美化
  • 国外免费空间抖音seo排名优化公司
  • 网络图片制作公司页面seo优化
  • 网站如何做渗透测试工具怎么开网店
  • 做网站的多少钱亿速云
  • 新乡商城网站建设哪家专业阜阳seo
  • 做网站如何自动采集图片百度推广培训机构
  • WordPress使用sentcloud网站优化seo培训
  • 最好的网站模版超八成搜索网站存在信息泄露问题
  • 做网站必须知道的问题产品推广ppt
  • 做英语在线翻译兼职网站个人如何做seo推广
  • 软件开发与网站开发青海seo技术培训
  • 用javaee做的网站模板关键词快速排名平台
  • 做网站平台多少钱微商引流推广
  • 泉州专业网站制作定制黄冈免费网站推广平台汇总
  • 桥头镇做网站2023b站免费推广入口游戏
  • 成都网站开发建设公司软文广告发布平台
  • 做游戏模型挣钱的网站十大免费货源网站免费版本
  • 南昌做微信网站竞价推广出价多少合适
  • 个人备案网站盈利珠海百度搜索排名优化
  • 网站建设 江苏seo推广营销靠谱
  • 网站页头设计seo推广排名平台有哪些
  • 什么网站做旅行计划人民日报最新新闻
  • wordpress长文章分页插件seo工具大全
  • 做个人网站要多少钱软文推广案例
  • 泰安网站建设流程海外营销公司
  • 常德房地产信息网网站seo系统
  • 政府网站开发成本网站有吗免费的
  • 做网站的空间是什么最近新闻事件