淘宝联盟自建网站教程东莞住建局局长主动投案

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

淘宝联盟自建网站教程,东莞住建局局长主动投案,鹤庆县公路建设网站,太原seo快速排名前言 关于国内拉取不到docker镜像的问题#xff0c;可以利用Github Action将需要的镜像转存到阿里云私有仓库#xff0c;然后再通过阿里云私有仓库去拉取就可以了。 参考项目地址#xff1a;使用Github Action将国外的Docker镜像转存到阿里云私有仓库 一、Docker简介 Do…前言 关于国内拉取不到docker镜像的问题可以利用Github Action将需要的镜像转存到阿里云私有仓库然后再通过阿里云私有仓库去拉取就可以了。 参考项目地址使用Github Action将国外的Docker镜像转存到阿里云私有仓库 一、Docker简介 Docker 是一个开源的应用容器引擎工具使用Docker可以在同一个操作系统下利用同一套操作系统资源创建相互隔离的运行时环境即容器容器完全使用沙箱机制相互之间不会有任何接口。 Docker的主要作用是将应用程序及其运行环境和依赖打包成一个可移植包即镜像方便应用程序的部署和维护。 二、名词解释 Docker引擎Docker引擎是Docker的核心负责镜像创建管理容器运行停止等工作。 镜像将应用程序及其运行环境和依赖整合到一起打成的包可以理解为类似操作系统的镜像(iso文件) 容器容器是通过镜像来启动和运行的容器是镜像的运行实例Docker容器是一个独立运行的执行单元可以将其看作一个极简的Linux系统环境包括root权限、进程空间、用户空间和网络空间等以及运行在其中的应用程序各个容器之间是是相互隔离的互不影响。 仓库Docker Hub存放镜像的地方类似于代码仓库Docker Hub是一个官方的用于存储和共享Docker镜像的公共仓库。开发者可以在Docker Hub上找到各种各样的官方和社区创建的镜像也可以将自己的镜像上传到这个平台。 容器编排Docker Compose、K8s Docker Compose是一个工具允许定义和运行多个Docker容器的配置。通过一个简单的YAML文件可以定义应用程序的各个组件、服务和它们之间的关系。 三、Docker安装 官方文档 Install Docker Desktop on Linux 打不开链接请使用魔法
笔者使用的debian操作系统直接使用官方提供的脚本安装 curl -fsSL https://get.docker.com -o get-docker.sh 四、Dockerfile的使用  在构建镜像时可以创建一个Dockerfile文件在文件中定义构建镜像的指令(如基础镜像、拷贝文件、暴露端口等)。 常用指令 1.FROM指定构建镜像时需要使用的基础镜像可以指定基础镜像的版本格式镜像:tag 2.COPY拷贝文件或文件夹到指定位置 3.ADD拷贝文件或文件夹到指定位置若拷贝的文件是压缩文件(如 .tar, .tar.gz, .zip 等)               将会自动解压若是从URL下载文件ADD 还支持从URL来源复制文件这意味               着可以直接从互联网上下载文件并将其添加到镜像中 4.RUN构建镜像时需要运行的shell命令 5.EXPOSE构建的镜像在运行时对外暴露的端口号在运行容器时指定-p参数中的容                       器端口可以覆盖此参数(-p 宿主机端口:容器端口) 6.WORKDIR构建的镜像在运行时终端登录进来默认的工作目录 7.CMD构建的镜像在容器启动时要运行的命令参数为数组形式(CMD [命令,参数                       1,参数2,…]) 8.MAINTAINER指定镜像创建者信息 9.ENV设置环境变量 10.USER构建的镜像在运行时设置容器进程的一些用户 eq #基于nginx最新版本为基础镜像,必须放在第一句 FROM nginx:latestMAINTAINER author by Kevin#在容器中创建一个html目录 RUN mkdir /html#设置登入容器后shell默认工作目录为html WORKDIR /html#复制当前目录下的所有内容到容器当前工作目录(html) COPY . .#复制当前目录(Dockerfile所在目录)下的index.html文件到html目录下 COPY ./index.html /html#复制当前目录下hls目录下的所有文件到html目录下的hls目录(若没有hls目录将自动创建) COPY ./hls /html/hls#删除nginx的默认配置文件default.conf RUN rm /etc/nginx/conf.d/default.conf#复制当前目录下的default.conf文件到路径/etc/nginx/conf.d下 ADD default.conf /etc/nginx/conf.d#对外暴露容器端口为8080 EXPOSE 8080#赋予文件install.sh执行权限 RUN chmod -v x /install.sh#容器启动时运行bash程序并执行install.sh脚本 CMD [/bin/bash,install.sh] 在执行复制操作时若希望Dockerfile忽略某些目录或文件可在当前目录下创建一个 .dockerignore文件如 #忽略node_modules目录 node_modules#忽略package-lock.json文件 package-lock.json 五、Docker常用命令 1.Docker服务启停

启动Docker服务

systemctl start docker# 停止Docker服务 systemctl stop docker# 重启服务 systemctl restart docker# 设置开机自启 systemctl enable docker2.Docker查看命令 #查看docker版本 docker –version #或 docker -v#查看docker运行状态 systemctl status docker #查看docker概要信息 docker info#查看容器、镜像、网络、卷等详细信息,返回JSON格式的结果 docker inspect 容器id/容器名称/镜像id/镜像名/卷名#查看容器日志 docker logs 容器id或容器名#查看正在运行的容器 docker ps#查看最近创建的容器 docker -ps -l#查看正在运行的容器只显示id docker ps -q#查看所有运行的容器包含历史运行过的容器 docker ps -a#注容器id不用输完整在保证不会重复的情况下输前几位就行 #查看容器端口映射情况 docker port 容器id#查看运行中的容器资源占用情况 docker stats 容器id(可以为多个id空格分割或者不传查看所有容器)#查看容器内部运行的进程列表 docker top 容器id#查看本地镜像列表 docker images#查看本地镜像列表,包含历史镜像 docker images -a#查看本地镜像列表只显示id docker images -q#在镜像仓库搜索镜像 docker search 镜像名称 #查看容器/镜像/数据卷所占用的空间大小数量等 docker system df 3.镜像操作  3.1.镜像创建  #构建镜像,.表示使用当前目录下的Dockerfile构建 docker build -t 镜像名:tag . #eq: docker build -t test-image:v1.0#从镜像仓库拉取镜像到本地环境若不指定版本将拉取最新版本 docker pull 镜像名:版本 #eqdocker pull nginx#镜像仓库登录 docker login –usernameyour-account-name your-repo-address3.2.镜像删除  #删除镜像可删除多个镜像镜像id用空格分割 docker rmi 镜像id:tag#强制删除镜像 docker rmi 镜像id -f#删除所有镜像,\(()的作用可以理解为执行一个子查询 docker rmi -f \)(docker images -aq) 3.3.镜像导入导出  #保存hls-test镜像的v1版本到home目录下并命名为hls.tar归档文件 docker save hls-test:v1 /home/hls.tar #加载hls.tar归档文件镜像 docker load hls.tar 4.容器操作 4.1.容器运行 语法docker run [options] image:tag [command] 参数          –name“容器新名字”         -d后台运行容器         -i以交互模式运行容器  interactive         -t为容器重新分配一个为输入终端         -P随机终端口映射大写P         -p指定终端口映射小写p格式-p 宿主机端口:容器端口         -v容器目录挂载或卷映射格式宿主机目录路径:容器目录路径或                卷名:容器目录路径 eq #用hls-test:v1镜像以后台模式运行一个容器并将容器的80端口映射到宿主机的8080端口 #并指定容器名为test将宿主机的home/html目录(自动创建)挂载到容器html/hls目录 docker run –name test -p 8080:80 -v /home/html:/html/hls -d hls-test:v1#使用卷映射方式替代目录挂载,卷名nginx_html(宿主机自动创建默认在/var/lib/docker/volumes目录下) docker run –name test -p 8080:80 -v nginx_html:/html/hls -d hls-test:v1#交互式运行容器可以进入到容器内部执行一些操作 #在容器中输入exit可退出容器退出同时容器也会停止运行 #按快捷键ctrlpq可退出容器退出后容器不会停止运行 docker run -p 8080:80 -it hls-test:v1 /bin/bash #退出容器后可再次进入容器(前提是容器没有停止) docker exec -it 容器id bash docker exec -it 容器id /bin/bash #或 docker attach 容器id#注exec命令是在容器中打开新的终端不会启动新进程用exit退出后容器不会停止 #attach命令是直接进入容器的终端用exit退出后会导致容器停止4.2.容器启停 #停止正在运行的容器 docker stop 容器id或容器名#停止所有正在运行的容器 docker stop \((docker ps -q)#重启容器 docker restart 容器id或容器名#启动已停止的容器 docker start 容器id或容器名#强制停止容器 docker kill 容器id或容器名#强制停止所有容器 docker kill \)(docker ps -a -q)#注容器id不用输完整在保证不会重复的情况下输前几位就行 4.3.容器删除 #删除已停止的容器 docker rm 容器id或容器名#正在运行的容器需要强制删除 docker rm -f 容器id或容器名#清理所有没有在运行状态的容器 docker continer prune#删除正在运行的所有容器 docker rm -f $(docker ps -a -q) #或 docker ps -q -a | xargs docker rm -f 4.4.文件拷贝 #拷贝容器中的index.html文件到宿主机的home目录 docker cp 容器id:容器内index.html的路径 /home 4.5.容器导入导出 #导出正在运行的容器为一个tar归档文件 docker export 容器id -o 文件名.tar #将hls-test.tar归档文件中的内容导入为一个新的镜像-m参数表示注释 #短横线“-”后的hls-test:v1分别表示镜像名称和版本(tag) cat hls-test.tar | docker import -m 导入测试 - hls-test:v1