网站平台建设经费预算静态网站建设参考文献
网站平台建设经费预算,静态网站建设参考文献,电子邀请函制作免费模板,wordpress突然访问不了docker-compose
https://www.runoob.com/docker/docker-compose.html
Compose 使用的三个步骤#xff1a;
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务#xff0c;这样它们可以在隔离环境中一起运行。
最后#xff0c;执行 …docker-compose
https://www.runoob.com/docker/docker-compose.html
Compose 使用的三个步骤
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务这样它们可以在隔离环境中一起运行。
最后执行 docker-compose up 命令来启动并运行整个应用程序。
docker如何把自己的容器输出到一个新的镜像
一旦你对容器做出所需的修改你可以使用 docker commit 命令将容器保存为一个新的镜像。在容器修改后你可以执行以下命令
docker commit container_id_or_name new-image-name:tag container_id_or_name 是你要基于其创建新镜像的容器的 ID 或名称。 new-image-name 是你想要给新镜像命名的名称。 tag 是标签用于区分不同的镜像版本。 例如docker commit my-container new-image:latest
docker运维
kubectl run -i --tty busybox --imagebusybox --restartNever – sh
1.根据基础镜像生成新镜像,基于镜像运行一个容器修改容器内容重新Commit生成新镜像 docker pull centos:latest docker run -it centos /bin/bash yum install wget/vim等命令 docker commit 2ef48c7e3da0 centos:shiying生成新镜像 docker commit -m“首次提交” -a“一灰灰Blog” dd85eb055fe8 centos:shiying
注意运行 yum install wget/vim等命令会报错因为centos:centos8 作为虚拟机来测试linux命令,由于Centos8于2021年年底停止了服务在使用yum源安装时候 Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist
解决方式1 将镜像从 mirror.centos.org 更改为 vault.centos.org
进入目录
cd /etc/yum.repos.d/ 修改镜像
sed -i ‘s/mirrorlist/#mirrorlist/g’ /etc/yum.repos.d/CentOS-* sed -i ‘s|#baseurlhttp://mirror.centos.org|baseurlhttp://vault.centos.org|g’ /etc/yum.repos.d/CentOS-* yum makecache yum update -y
现在可以正常安装vim了yum -y install vim
解决方式2 更换镜像版本, 使用centos:centos7
docker commit {容器ID} {镜像名称}
docker run -i -t -d --name test_command centos:shiying • 其中关键参数为-d指定容器运行与前台或者后台不加上时前台 • -i: 打开 STDIN用于控制台交互 • -t: 支持终端登录
2.获取容器所有信息 docker exec -it test_command /bin/bash docker inspect test_command docker logs -f -t --since“2019-05-11” --tail10 test_command
将当前目录的preinstall_check_cloud.sh文件拷贝到容器的 /tmp 目录下
docker cp preinstall_check_cloud.sh test_command:/tmp
将容器的/tmp/ks-script-4luisyla目录拷贝到当前目录下
docker cp test_command:/tmp/ks-script-4luisyla ./
增加组件 docker cp ./ mynodered:/usr/src/node-red/node_modules/ali/node-red-contrib-rocketmq
DockerFile指令语法
FROM 引用基础镜像 ARG 构建参数ARG指令定义了一个变量ARG指令定义的参数在docker build命令中以–build-arg 形式赋值。 ENV 设置环境变量设置的变量在容器运行时保持可以在Run 指令中使用 区别 ARG指令定义了用户可以在编译时或者运行时传递的变量 ENV指令是在dockerfile里面设置环境变量不能在编译时或运行时传递
RUN 在镜像中执行的命令,每条 RUN 指令将在当前镜像基础上执行指定命令并提交为新的镜像。当命令较长时可以使用 \ 来换行 COPY 宿主机复制文件到容器中 ADD 与COPY指令类似唯一的不同点是 对于ADD指令如果文件是可识别的压缩格式 则Docker会帮忙解压缩
——容器启动时执行指令—— WORKDIR 为 RUN、CMD、ENTRYPOINT 指令配置工作目录 ENTRYPOINT容器启动后执行的命令在一个Dockerfile文件中当出现多个ENTRYPOINT 时只有最后一次有效ENTRYPOINT [“/home/admin/start.sh”] CMD 指定启动容器时执行的命令每个 Dockerfile 只能有一条 CMD 命令如果有多条则只有最后一条会被执行。 EXPOSE 容器需要映射到宿主机器的端口 VOLUME 声明了容器中的目录作为匿名卷,并且我们以这个镜像run了一个容器的时候docker会在安装目录下的指定目录下面生成一个目录来绑定容器的匿名卷这个指定目录不同版本的docker会有所不同我当前的目录为/var/lib/docker/volumes/{容器ID} 总结 volume只是指定了一个目录用以在用户忘记启动时指定-v参数也可以保证容器的正常运行。比如mysql你不能说用户启动时没有指定-v然后删了容器就把mysql的数据文件都删了那样生产上是会出大事故的所以mysql的dockerfile里面就需要配置volume这样即使用户没有指定-v容器被删后也不会导致数据文件都不在了。还是可以恢复的。
例子
FROM registry.cn-beijing.aliyuncs.com/aihub/edgejdk:8-jdk-alpine COPY ./target/aies-cluster.jar /app/aies-cluster.jar COPY ./src/main/resources/work/.sh /app/images/ RUN chmod x /app/images/.sh WORKDIR /app ENTRYPOINT [“java”,“-jar”,“aies-cluster.jar”]
FROM nodered/node-red
You should add extra nodes via your package.json file but you can also add them here:
WORKDIR /usr/src/node-red RUN npm install node-red-node-smooth RUN npm install node-red-contrib-kafka-client RUN npm install node-red-contrib-aliyun-datahub RUN npm install node-red-contrib-aliyun-oss RUN npm install node-red-node-mysql
镜像和容器的关系以及文件结构
Docker 镜像是由多个文件系统只读层叠加而成每个层仅包含了前一层的差异部分。当我们启动一个容器的时候Docker 会加载镜像层并在其上添加一个可写层。容器上所做的任何更改譬如新建文件、更改文件、删除文件都将记录与可写层上。容器层与镜像层的结构如下图所示。
容器 镜像 读写层 容器与镜像最大的区别就在于可写层上。如果运行中的容器修改了现有的一个已存在的文件那该文件将会从可写层下的只读层复制到可写层该文件的只读版本仍然存在只是已经被可写层中该文件的副本所隐藏。
/var/lib/docker/containerscontainers目录中存有每个容器的配置文件、环境变量文件、日志文件,目录随着删除容器而删除
/var/lib/docker/image/overlay2存储镜像管理数据的目录以使用的存储驱动命名 • /var/lib/docker/image/overlay2/repositories.json存储了镜像资源全局描述
/var/lib/docker/overlay2,layer的文件都放在了overlay2 目录
/var/lib/docker/volumes
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/86447.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!