docker(二)镜像的使用
文章目录
- docker(二)镜像的使用
- 列出镜像列表
- 查找拖取删除
- 镜像的构建
- Dockerfile文件的方式
- COPY
- ADD
- ENV&EXPOSE
- VOLUME
- CMD与ENTRYPOINT和shell exec
- 镜像的优化
- 几个命令
docker(二)镜像的使用
列出镜像列表
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 90d5884b1ee0 5 days ago 188 MB
php 5.6 f40e9e0f10c8 9 days ago 444.8 MB
nginx latest 6f8d099c3adc 12 days ago 182.7 MB各个选项说明:REPOSITORY:表示镜像的仓库源TAG:镜像的标签IMAGE ID:镜像IDCREATED:镜像创建时间SIZE:镜像大小同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本,
如 ubuntu 仓库源里,有 15.10、14.04 等多个不同的版本,
我们使用 REPOSITORY:TAG 来定义不同的镜像。
所以,我们如果要使用版本为15.10的ubuntu系统镜像来运行容器时,命令如下:
runoob@runoob:~$ docker run -t -i ubuntu:15.10 /bin/bash
root@d77ccb2e5cca:/##如果你不指定一个镜像的版本标签,例如你只使用ubuntu,docker 将默认使用 ubuntu:latest 镜像。
查找拖取删除
docker search httpd
docker pull httpd
docker rmi hello-world
镜像的构建
'
镜像的构建
docker commit 构建镜像三部曲运行容器修改容器将容器保存为新的镜像缺点效率低 可重复性弱 容易出错使用者无法对镜像进行审计,存在安全隐患'
[root@server3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB
[root@server3 ~]# docker history ubuntu:latest
# 查看每一层的镜像修改,也就是该镜像的创建历史
IMAGE CREATED CREATED BY SIZE COMMENT
3556258649b2 2 weeks ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B
<missing> 2 weeks ago /bin/sh -c mkdir -p /run/systemd && echo '... 7 B
<missing> 2 weeks ago /bin/sh -c set -xe && echo '#!/bin/sh' >... 745 B
<missing> 2 weeks ago /bin/sh -c [ -z "$(apt-get indextargets)" ] 987 kB
<missing> 2 weeks ago /bin/sh -c #(nop) ADD file:3ddd02d976792b6... 63.2 MB # <missing>的意思是 这些操作不是在本机操作的 所有找不到 这并没有什么关系
演示案例:
# busybox:这个镜像非常的轻量级 适合我们在学习和实验中去使用
[root@server3 ~]# docker run -it --name test busybox
Unable to find image 'busybox:latest' locally
latest: Pulling from library/busybox
ee153a04d683: Pull complete
Digest: sha256:9f1003c480699be56815db0f8146ad2e22efea85129b5b5983d0e0fb52d9ab70
Status: Downloaded newer image for busybox:latest
/ # echo helloworld >testfile
/ # ls
bin etc proc sys tmp var
dev home root testfile usr
/ # cat testfile
helloworld
/ # exit #退出并停止运行 ctrl p+q 退出不停止运行[root@server3 ~]# docker ps -a #注意:我们只是退出了运行中的容器 并没有删除它
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6789012d8958 busybox "sh" About a minute ago Exited (0) 5 seconds ago test
[root@server3 ~]# docker start test
#我们将在后台保存的容器运行起来
test[root@server3 ~]# docker attach test #此命令可以进入在后台运行起来的容器[root@server3 ~]# docker commit test test:v1 #将我们所修改的容器保存
sha256:c1a9c80bccb0b51e410cc90bbe56460c4b84e2119741aee133d99a45da702857'docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2各个参数说明:-m: 提交的描述信息-a: 指定镜像作者e218edb10161:容器 IDrunoob/ubuntu:v2: 指定要创建的目标镜像名'[root@server3 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test v1 c1a9c80bccb0 5 seconds ago 1.22 MB
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
busybox latest db8ee88ad75f 3 weeks ago 1.22 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB[root@server3 ~]# docker history test:v1 #我们可以看到 相同的底层是共享的(在我们当前的文件系统之上是只保存一份的)基于busybox构建的
IMAGE CREATED CREATED BY SIZE COMMENT
c1a9c80bccb0 24 seconds ago sh 59 B
db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4dd... 1.22 MB # 缺点是:我们无法得知我们对这个容器到底做了什么操作,虽然它已经被保存了# 可以强制删除正在运行中的容器
docker rm -f # 我们可以看到 新运行的容器也是有我们之前所保存的数据的
[root@server3 ~]# docker run -it --name vm1 test:v1
/ # ls
bin etc proc sys tmp var
dev home root testfile usr
/ # cat testfile
helloworld
Dockerfile文件的方式
创建一个Dockerfile# 注意:一定要创建一个新的目录 因为在构建镜像的时候,
#会默认把dockerfile所在的目录中的所有目录发送给docker引擎,
#举个例子:如果你把dockerfile放在/目录下 那么这个过程会变得非常的缓慢
[root@server3 mnt]# pwd
/mnt
[root@server3 mnt]# ls
docker
[root@server3 mnt]# cd docker/
[root@server3 docker]# ls
[root@server3 docker]# vim dockerfile
'FROM busybox #以哪个基础镜像为模板RUN echo testfile > file1 #在新镜像中你要执行的哪些动作RUN echo testfile > file2'
[root@server3 docker]# docker build -t test:v2 . #镜像名称 #.代表当前目录
Sending build context to Docker daemon 2.048 kB
#把dockerfile所在的目录中的所有目录发送给docker引擎
Step 1/3 : FROM busybox---> db8ee88ad75f
Step 2/3 : RUN echo testfile > file1---> Running in 4c00ef6f0753---> e8a1fbac8837
Removing intermediate container 4c00ef6f0753 #临时镜像层删掉
Step 3/3 : RUN echo testfile > file2---> Running in cd7a46bb3269---> 5fc404485b27
Removing intermediate container cd7a46bb3269
Successfully built 5fc404485b27[root@server3 docker]# cat dockerfile
FROM busybox #以哪个基础镜像为模板
RUN echo testfile > file1 #在新镜像中你要执行的哪些动作
RUN echo testfile > file2[root@server3 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
test v2 5fc404485b27 About a minute ago 1.22 MB
test v1 c1a9c80bccb0 19 minutes ago 1.22 MB
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
busybox latest db8ee88ad75f 3 weeks ago 1.22 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB
[root@server3 docker]# docker history test:v2
IMAGE CREATED CREATED BY SIZE COMMENT
5fc404485b27 About a minute ago /bin/sh -c echo testfile > file2 9 B
e8a1fbac8837 About a minute ago /bin/sh -c echo testfile > file1 9 B
db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4dd... 1.22 MB [root@server3 docker]# docker history busybox:latest
IMAGE CREATED CREATED BY SIZE COMMENT
db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4dd... 1.22 MB # 缓存特性
# 再次更改dockerfile 注意:不要随便加空格(要使用缓存 之前内容不能随便更改)
[root@server3 docker]# cat dockerfile
FROM busybox
RUN echo testfile > file1
RUN echo testfile > file2
RUN echo testfile > file3[root@server3 docker]# docker build -t test:v3 .
Sending build context to Docker daemon 2.048 kB
Step 1/4 : FROM busybox---> db8ee88ad75f
Step 2/4 : RUN echo testfile > file1---> Using cache #已经运行过的不再运行---> e8a1fbac8837
Step 3/4 : RUN echo testfile > file2---> Using cache---> 5fc404485b27
Step 4/4 : RUN echo testfile > file3---> Running in e2e4d6f4c565 #运行新的指令---> edd40df71d11
Removing intermediate container e2e4d6f4c565
Successfully built edd40df71d11##如果我们希望在构建镜像时不使用缓存,可以在docker build命令中加上 --no-cache参数
#dockerfile中每一个指令都会创建一个镜像层,上层是依赖于下层的,无论什么时候,只要某一层发生变化,其上面所有层的缓存都会失败# 对比来看 v2和v3 有几层是一样的 每一个RUN就会构建一层镜像
# 而且我们可以看到 每一层的操作
# 再次说明 共同的镜像层之间的共享的[root@server3 docker]# docker history test:v3
IMAGE CREATED CREATED BY SIZE COMMENT
edd40df71d11 52 seconds ago /bin/sh -c echo testfile > file3 9 B
5fc404485b27 6 minutes ago /bin/sh -c echo testfile > file2 9 B
e8a1fbac8837 6 minutes ago /bin/sh -c echo testfile > file1 9 B
db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4dd... 1.22 MB
[root@server3 docker]# docker history test:v2
IMAGE CREATED CREATED BY SIZE COMMENT
5fc404485b27 6 minutes ago /bin/sh -c echo testfile > file2 9 B
e8a1fbac8837 6 minutes ago /bin/sh -c echo testfile > file1 9 B
db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0 B
<missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4dd... 1.22 MB # 本质:dockerfile中的每一层其实就是执行了一个docker commi
COPY
dockerfile的详解
#便于我们书写更成熟的dockerfile文件
dockerfile常用指令FROM:指定base镜像,如果本地不存在会从远程仓库下载(虚拟机要配置上网)MAINTAINER:设置镜像的作者,比如用户邮箱等 (不是必须的)COPY:把文件从buile context复制到镜像支持两种形式:COPY src dest 和 COPY ["src","dest"]src必须指定build context中的文件或目录"""[root@server3 docker]# vim dockerfileFROM busyboxCOPY testfile /tmp[root@server3 docker]# vim testfilehello~[root@server3 docker]# docker build -t test:v4 .Sending build context to Docker daemon 3.072 kBStep 1/2 : FROM busybox---> db8ee88ad75fStep 2/2 : COPY testfile /tmp---> ff437a8d3732Removing intermediate container e79887133199Successfully built ff437a8d3732[root@server3 docker]# docker history test:v4IMAGE CREATED CREATED BY SIZE COMMENTff437a8d3732 9 seconds ago /bin/sh -c #(nop) COPY file:d93a5a916d7ae8... 7 B db8ee88ad75f 3 weeks ago /bin/sh -c #(nop) CMD ["sh"] 0 B <missing> 3 weeks ago /bin/sh -c #(nop) ADD file:9ceca008111a4dd... 1.22 MB [root@server3 docker]# docker run -it --name vm1 test:v4/ # lsbin dev etc home proc root sys tmp usr var/ # cd /tmp//tmp # lstestfile/tmp # cat testfile hello~ """
# 建议:不用的容器 要即使删除
ADD
ADD:用法与COPY类似,不同的是src可以是归档压缩文件,文件会被自动解压到dest,也可以下载URL并拷贝到镜像eg:ADD html.tar /var/wwwADD http://ip/html.tar /var/www"""
[root@server3 docker]# ls
dockerfile nginx-1.15.9.tar.gz testfile
[root@server3 docker]# vim dockerfile
FROM busybox
COPY testfile /tmp
ADD nginx-1.15.9.tar.gz /tmp[root@server3 docker]# docker build -t test:v5 .
Sending build context to Docker daemon 1.036 MB
Step 1/3 : FROM busybox---> db8ee88ad75f
Step 2/3 : COPY testfile /tmp---> Using cache---> ff437a8d3732
Step 3/3 : ADD nginx-1.15.9.tar.gz /tmp---> 9db2ad29e44f
Removing intermediate container f84d556d43dc
Successfully built 9db2ad29e44f[root@server3 docker]# docker run -it --name vm2 test:v5
/ # cd /tmp/
/tmp # ls
nginx-1.15.9 testfile
/tmp # cd nginx-1.15.9/
/tmp/nginx-1.15.9 # ls
CHANGES README configure man
CHANGES.ru auto contrib src
LICENSE conf html
"""
ENV&EXPOSE
ENV:设置环境变量,变量可以被后续的指令使用(不是必须的)ENV HOSTNAME server1.example.comEXPOSE:如果容器运行应用服务,可以把服务的端口暴露出去
"""
[root@server3 docker]# docker history game2048
IMAGE CREATED CREATED BY SIZE COMMENT
19299002fdbe 2 years ago /bin/sh -c #(nop) CMD ["/bin/sh" "-c" "se... 0 B
<missing> 2 years ago /bin/sh -c #(nop) EXPOSE 80/ tcp 0 B
# 服务的端口暴露出去 方便我们去做端口映射和用户在容器启动后去访问的
<missing> 2 years ago /bin/sh -c #(nop) COPY dir:cb74e9c037a3d50... 600 kB
<missing> 2 years ago /bin/sh -c #(nop) MAINTAINER Golfen Guo <... 0 B
<missing> 2 years ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daem... 0 B
<missing> 2 years ago /bin/sh -c #(nop) EXPOSE 443/tcp 80/tcp 0 B
<missing> 2 years ago /bin/sh -c #(nop) COPY file:d15ceb73c6ea77... 1.1 kB
<missing> 2 years ago /bin/sh -c #(nop) COPY file:af94db45bb7e4b... 643 B
<missing> 2 years ago /bin/sh -c GPG_KEYS=B0F4253373F8F6F510D421... 50.1 MB
<missing> 2 years ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.11.7 0 B
<missing> 2 years ago /bin/sh -c #(nop) MAINTAINER NGINX Docker... 0 B
<missing> 2 years ago /bin/sh -c #(nop) ADD file:7afbc23fda8b0b3... 4.8 MB """
VOLUME
VOLUME:申明数据卷,通常指定的是应用的数据挂在点#后面会有专门去讲解的 #目的:容器数据持久化的VOLUME ["/var/www/html"]
"""
[root@server3 docker]# vim dockerfile
FROM busybox
COPY testfile /tmp
ADD nginx-1.15.9.tar.gz /tmp
VOLUME ["/data"]
#在启动容器的时候会帮我们自动的新建
[root@server3 docker]# docker build -t test:v6 .
Sending build context to Docker daemon 1.036 MB
Step 1/4 : FROM busybox---> db8ee88ad75f
Step 2/4 : COPY testfile /tmp---> Using cache---> ff437a8d3732
Step 3/4 : ADD nginx-1.15.9.tar.gz /tmp---> Using cache---> 9db2ad29e44f
Step 4/4 : VOLUME /data---> Running in 5f03d4efc260---> 680a9d07e8e9
Removing intermediate container 5f03d4efc260
Successfully built 680a9d07e8e9
[root@server3 docker]# docker run -it --name vm2 test:v6
/ # ls
bin dev home root tmp var
data etc proc sys usr
/ # cd data/#我们可以通过docker inspect 6a8af9225428 这个命令看到
#容器中的/data目录与宿主机上的一个新建的本地目录发生了联系"Mounts": [{"Type": "volume","Name": "54322e71d6257057e0b785efdfa5853a53422a287048780753fba37df3a2470b","Source": "/var/lib/docker/volumes/54322e71d6257057e0b785efdfa5853a53422a287048780753fba37df3a2470b/_data",我们进入到这个目录中去:
# 注意:此目录是docker引擎自动帮我们创建出来的
# 目录名是随机生成的
[root@server3 /]# cd /var/lib/docker/volumes
/54322e71d6257057e0b785efdfa5853a53422a287048780753fba37df3a2470b/_data
[root@server3 _data]# ls
[root@server3 _data]# touch file1
[root@server3 _data]# touch file2
[root@server3 _data]# docker attach vm2
/ # cd /data/
/data # ls
file1 file2
/data # rm -rf file1
/data # exit
[root@server3 _data]# ls
file2#如需自己创建
#手工指定挂载点 如不存在 会自动创建
[root@server3 _data]# docker run -it --name vm3 -v /opt/data(宿主机上的路径 如果没有会自动帮我们创建):/data(容器内的路径) test:v
v1 v2 v3 v4 v5 v6
[root@server3 _data]# docker run -it --name vm3 -v /opt/data:/data test:v6
/ # cd /data/
/data # ls
/data # ls
/data # touch file2
/data # ls
file1 file2
/data # [root@server3 _data]# cd /opt/
[root@server3 opt]# cd data/
[root@server3 data]# ls
file1 file2"""
CMD与ENTRYPOINT和shell exec
WOEKDIR:为RUN CMD ENTRYPOINT ADD COPY 指令设置镜像中的
当前工作目录(类似于cd ),如果目录不存在会自动创建RUN:在容器中运行命令并创建新的镜像层,常用于安装包# 每一个RUN指令都会构建一层镜像层,尽可能将多个命令放在一个RUN指令下RUN yum install -y vimCMD与ENTRYPOINT:这两个指令都是用于设置容器启动后执行的命令,但CMD会被docker run后面的命令覆盖,而ENTRYPOINT不会被忽略,一定会被执行
docker run后面的参数可以传递给ENTRYPOINT指令当作参数 dockerfile中只能指定一个ENTRYPOINT,如果指定了很多,
只有最后一个有效# CMD与ENTRYPOINT(容器启动后要运行的!!) RUN :在创建容器的时候!!!(在容器中)"""
两种书写格式的区别 shell exec
[root@server3 docker]# docker build -t test:v7 .
Sending build context to Docker daemon 1.036 MB
Step 1/3 : FROM busybox---> db8ee88ad75f
Step 2/3 : ENV name world---> Running in 67e1d402e2b6---> 9771be0e3225
Removing intermediate container 67e1d402e2b6
Step 3/3 : ENTRYPOINT echo "hello,$name"---> Running in 51af15777274---> f6ec975c2f75
Removing intermediate container 51af15777274
Successfully built f6ec975c2f75
[root@server3 docker]# docker run --rm(一次性的 运行停止后就删除) test:v7
hello,world
1.shell的方式
[root@server3 docker]# cat dockerfile #shell的方式
FROM busybox
ENV name world #ENV:定义变量
ENTRYPOINT echo "hello,$name"[root@server3 docker]# docker build -t test:v8 .
Sending build context to Docker daemon 1.036 MB
Step 1/3 : FROM busybox---> db8ee88ad75f
Step 2/3 : ENV name world---> Using cache---> 9771be0e3225
Step 3/3 : ENTRYPOINT /bin/echo hello,$name---> Running in 6bc8e3d7e2d8---> 77cecb1b6c1c
Removing intermediate container 6bc8e3d7e2d8
Successfully built 77cecb1b6c1c[root@server3 docker]# docker run --rm test:v8 #发现问题 变量无法被解析
hello,$name2.exec的方式
[root@server3 docker]# cat dockerfile #exec的方式
FROM busybox
ENV name world
ENTRYPOINT ["/bin/echo","hello,$name"]shell格式底层会调用/bin/sh -c 来执行命令,
可以解析变量,而exec格式不会所以我们需要修改写法
[root@server3 docker]# docker build -t test:v9 .
Sending build context to Docker daemon 1.036 MB
Step 1/3 : FROM busybox---> db8ee88ad75f
Step 2/3 : ENV name world---> Using cache---> 9771be0e3225
Step 3/3 : ENTRYPOINT /bin/sh -c echo hello,$name---> Running in 5ab8da5fc8ca---> 6f26d3c56e7e
Removing intermediate container 5ab8da5fc8ca
Successfully built 6f26d3c56e7e[root@server3 docker]# docker run --rm test:v9
hello,world
[root@server3 docker]# cat dockerfile
FROM busybox
ENV name world
ENTRYPOINT ["/bin/sh","-c","echo hello,$name"]exec格式时,ENTRYPOINT可以通过CMD提供的额外参数,
CMD的额外参数可以在容器启动时动态替换,
在shell格式时ENTRYPOINT会忽略任何CMD或docker run提供的参数[root@server3 docker]# docker build -t test:v10 .
Sending build context to Docker daemon 1.036 MB
Step 1/3 : FROM busybox---> db8ee88ad75f
Step 2/3 : ENTRYPOINT /bin/echo hello---> Running in abf418860a24---> 6265a469ddca
Removing intermediate container abf418860a24
Step 3/3 : CMD world---> Running in 5d4ec18b4a7d---> 5998937f8ea3
Removing intermediate container 5d4ec18b4a7d
Successfully built 5998937f8ea3[root@server3 docker]# docker run --rm test:v10
hello world
[root@server3 docker]# cat dockerfile
FROM busybox
ENTRYPOINT ["/bin/echo","hello"]
CMD ["world"][root@server3 docker]# docker run --rm test:v10 westos
hello westos
# westos 覆盖了dockerfile CMD后面的值"""
镜像的优化
选择最经简的基础镜像
减少镜像的层数
清理镜像构建的中间产物
注意优化网络请求
尽量去构建缓存
使用多阶段构建镜像
"""
前提:保证镜像存在于本地
[root@server3 docker]# docker load -i rhel7.tar
[root@server3 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
busybox latest db8ee88ad75f 3 weeks ago 1.22 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB
rhel7 latest 0a3eb3fde7fd 5 years ago 140 MB"""
[rhel7.3]
name=rhel7.3
baseurl=http://172.25.0.250/rhel7.3/x86_64/dvd
gpgcheck=0[root@server3 docker]# docker build -t nginx:v1 .
[root@server3 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v1 6baf2165c143 30 seconds ago 295 MB
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
busybox latest db8ee88ad75f 3 weeks ago 1.22 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB
rhel7 latest 0a3eb3fde7fd 5 years ago 140 MB
# 实例:部署nginx
[root@server3 docker]# cat dockerfile
FROM rhel7
EXPOSE 80
MAINTAINER dd@westos.org
COPY dvd.repo /etc/yum.repos.d/
RUN rpmdb --rebuilddb
#重新构建rpm数据库 如不执行这一条命令会报错
#可以先不加这一句 看下报错
RUN yum install -y gcc make pcre-devel zlib-devel
ADD nginx-1.15.9.tar.gz /mnt
WORKDIR /mnt/nginx-1.15.9
RUN ./configure --prefix=/usr/local/nginx
RUN make
RUN make install
# 通过exec的方式
# nginx的启动方式
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]1.给镜像"瘦身":减少中间产物
[root@server3 docker]# docker build -t nginx:v2 .
[root@server3 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v2 d21df066fe46 5 seconds ago 272 MB
nginx v1 6baf2165c143 5 minutes ago 295 MB
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
busybox latest db8ee88ad75f 3 weeks ago 1.22 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB
rhel7 latest 0a3eb3fde7fd 5 years ago 140 MB
[root@server3 docker]# cat dockerfile
FROM rhel7
EXPOSE 80
MAINTAINER dd@westos.org
COPY dvd.repo /etc/yum.repos.d/
RUN rpmdb --rebuilddb
RUN yum install -y gcc make pcre-devel zlib-devel && yum clean all #清理yum缓存
ADD nginx-1.15.9.tar.gz /mnt
WORKDIR /mnt/nginx-1.15.9
RUN ./configure --prefix=/usr/local/nginx
RUN make
RUN make install
RUN rm -rf /mnt/nginx-1.15.9 #删除原始编译路径
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]
# 注意:一但改动 缓存就不能用了2.给镜像"瘦身":减少镜像层数 #合并多个RUN
# 注意:修改了指令 哪怕是一个空格 缓存就不能用了 使用缓存可以加快镜像构建速度
[root@server3 docker]# docker build -t nginx:v3 .
[root@server3 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v3 49349f668909 33 seconds ago 253 MB
nginx v2 d21df066fe46 5 minutes ago 272 MB
nginx v1 6baf2165c143 11 minutes ago 295 MB
ubuntu latest 3556258649b2 2 weeks ago 64.2 MB
busybox latest db8ee88ad75f 3 weeks ago 1.22 MB
game2048 latest 19299002fdbe 2 years ago 55.5 MB
rhel7 latest 0a3eb3fde7fd 5 years ago 140 MB
[root@server3 docker]# cat dockerfile
FROM rhel7
EXPOSE 80
MAINTAINER dd@westos.org
COPY dvd.repo /etc/yum.repos.d/
ADD nginx-1.15.9.tar.gz /mnt
WORKDIR /mnt/nginx-1.15.9
RUN rpmdb --rebuilddb && yum install -y gcc make pcre-devel zlib-devel && yum clean all && ./configure --prefix=/usr/local/nginx && make && make install && rm -rf /mnt/nginx-1.15.9
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]层数对比:
[root@server3 docker]# docker history nginx:v1
IMAGE CREATED CREATED BY SIZE COMMENT
6baf2165c143 11 minutes ago /bin/sh -c #(nop) CMD ["/usr/local/nginx/... 0 B
a0c55fb15186 11 minutes ago /bin/sh -c make install 3.86 MB
c2818114b626 11 minutes ago /bin/sh -c make 12.3 MB
42cfafda467f 12 minutes ago /bin/sh -c ./configure --prefix=/usr/local... 71.6 kB
b53295c86125 12 minutes ago /bin/sh -c #(nop) WORKDIR /mnt/nginx-1.15.9 0 B
3d39ff802d4d 12 minutes ago /bin/sh -c #(nop) ADD file:a2cce44ecbad0bd... 6.2 MB
e45257d6ece4 12 minutes ago /bin/sh -c yum install -y gcc make pcre-de... 126 MB
3a812a20583c 12 minutes ago /bin/sh -c rpmdb --rebuilddb 6.64 MB
ca37225041bb 14 minutes ago /bin/sh -c #(nop) COPY file:45a94bb87479f6... 81 B
8c63445a8161 14 minutes ago /bin/sh -c #(nop) MAINTAINER dd@westos.org 0 B
0544c1ca4b61 14 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
0a3eb3fde7fd 5 years ago 140 MB Imported from -
[root@server3 docker]# docker history nginx:v2
IMAGE CREATED CREATED BY SIZE COMMENT
d21df066fe46 6 minutes ago /bin/sh -c #(nop) CMD ["/usr/local/nginx/... 0 B
84cef4bc300b 6 minutes ago /bin/sh -c rm -rf /mnt/nginx-1.15.9 0 B
9fd5173e4d04 6 minutes ago /bin/sh -c make install 3.86 MB
d8a1f114e45e 6 minutes ago /bin/sh -c make 12.3 MB
64d1ab9f3fef 6 minutes ago /bin/sh -c ./configure --prefix=/usr/local... 71.6 kB
b6380cfd1f52 6 minutes ago /bin/sh -c #(nop) WORKDIR /mnt/nginx-1.15.9 0 B
b1e894d7b421 6 minutes ago /bin/sh -c #(nop) ADD file:a2cce44ecbad0bd... 6.2 MB
5a77bfb745f5 6 minutes ago /bin/sh -c yum install -y gcc make pcre-de... 102 MB
3a812a20583c 12 minutes ago /bin/sh -c rpmdb --rebuilddb 6.64 MB
ca37225041bb 14 minutes ago /bin/sh -c #(nop) COPY file:45a94bb87479f6... 81 B
8c63445a8161 14 minutes ago /bin/sh -c #(nop) MAINTAINER dd@westos.org 0 B
0544c1ca4b61 14 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
0a3eb3fde7fd 5 years ago 140 MB Imported from -
[root@server3 docker]# docker history nginx:v3
IMAGE CREATED CREATED BY SIZE COMMENT
49349f668909 About a minute ago /bin/sh -c #(nop) CMD ["/usr/local/nginx/... 0 B
a181a5f0e37e About a minute ago /bin/sh -c rpmdb --rebuilddb && yum instal... 106 MB
89980b82160c About a minute ago /bin/sh -c #(nop) WORKDIR /mnt/nginx-1.15.9 0 B
2e72df71ca13 About a minute ago /bin/sh -c #(nop) ADD file:a2cce44ecbad0bd... 6.2 MB
ca37225041bb 14 minutes ago /bin/sh -c #(nop) COPY file:45a94bb87479f6... 81 B
8c63445a8161 14 minutes ago /bin/sh -c #(nop) MAINTAINER dd@westos.org 0 B
0544c1ca4b61 14 minutes ago /bin/sh -c #(nop) EXPOSE 80/tcp 0 B
0a3eb3fde7fd 5 years ago 140 MB Imported from -
镜像的优化(续)
3.使用多阶段构建镜像
#比较优秀的方式(杀手锏)
#细看dockerfile 我们其实只需要编译好的nginx的二进制文件
[root@server3 docker]# docker build -t nginx:v4 .
#很快:安装包完全使用缓存
[root@server3 docker]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v4 b218a266197d 5 minutes ago 144MB
nginx v3 49349f668909 About an hour ago 253MB
nginx v2 d21df066fe46 About an hour ago 272MB
nginx v1 6baf2165c143 2 hours ago 295MB
ubuntu latest 3556258649b2 2 weeks ago 64.2MB
busybox latest db8ee88ad75f 3 weeks ago 1.22MB
game2048 latest 19299002fdbe 2 years ago 55.5MB
rhel7 latest 0a3eb3fde7fd 5 years ago 140MB
[root@server3 docker]# cat dockerfile
FROM rhel7:latest as build
EXPOSE 80
MAINTAINER dd@westos.org
COPY dvd.repo /etc/yum.repos.d/
ADD nginx-1.15.9.tar.gz /mnt
WORKDIR /mnt/nginx-1.15.9
RUN rpmdb --rebuilddb && yum install -y gcc make pcre-devel zlib-devel && yum clean all && ./configure --prefix=/usr/local/nginx && make && make install && rm -rf /mnt/nginx-1.15.9
####以上只是一个桥梁FROM rhel7:latest #基于rhel7的基础镜像
EXPOSE 80
MAINTAINER dd@westos.org
VOLUME ["/usr/local/nginx/html"]
COPY --from=build /usr/local/nginx /usr/local/nginx #从上一层的构建中拷贝
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]那我们有没有办法去减小基础镜像
https://github.com/search?utf8=%E2%9C%93&q=distroless&type=
谷歌为我们提供了非常精简的镜像
几个命令
其实和一里面差不多
docker ps -a
# -a会显示所有状态的容器,可以看到,之前鹅的容器已经退出了,状态为exited
# 但是“一闪而过”的容器通常不是我们想要的结果,我们希望容器能够保持running状态,这样才能被我们使用#让容器长期运行
如何让容器保存运行呢?
因为容器的生命周期依赖于启动时执行的命令,只要该命令不结束,
容器也就不会退出
[root@foundation0 ~]# docker run ubuntu /bin/bash -c 'while true;do sleep 1;done'
#while语句让bash不会退出,可以打开另一个终端查看容器的状态
[root@foundation0 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
737a0cd00a9b ubuntu "/bin/bash -c 'whi..." 12 seconds ago Up 12 seconds focused_swartz##通过while启动的容器虽然能够保持运行,但实际上没有干什么有意义的事情,
#容器常见的用途是运行后台服务##--name指定容器的名字
[root@foundation0 ~]# docker run --name "my_http_server" -d httpd#为一个镜像打另一个标签
docker tag 860c279d2fec runoob/centos:dev#当然,如果只是为了查看启动命令的输出,可以使用docker logs命令
docker logs -f c72e8ee26615
# -f的作用与tail -f 类似,能够持续打印输出
'按用途容器大致可分为两类:服务类容器和工具类容器服务类容器以daemon的形式运行,对外提供服务,比如web server,数据库等,通过-d以后台方式启动这类容器是非常合适的,如果要排查问题,可以通过exec -it进入容器工具类容器通常能给我们提供一个临时的工作环境,通常以run -it方式运行'
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
相关文章
- java进阶01-javaweb-day01_基础加强
文章目录01_今日内容02_Junit_测试概述03_Junit_使用步骤04_Junit_@Before&@After05_反射_概述06_反射_获取字节码Class对象的三种方式07_反射_Class对象功能概述08_反射_Class对象功能_获取Field09_反射_Class对象功能_获取Constructor10_反射_Class对象功能_获取Method11…...
2024/4/16 12:21:49 - java8 lambda stream学习
1. 简介接口、匿名内部类可以采用lambda实现 格式 参数列表括号括起来 -> 功能体 stream则让Java能够像sql一样操作集合等数据 lambda需要函数式接口的支持 函数式接口: 接口中只有一个抽象方法的接口 @FunctionalInterface 修饰一下 Lambda 就相当于接口、匿名内…...
2024/5/7 18:59:43 - H5之微信授权登陆 (uniapp网页版微信授权登录)
今天来复盘代码了 不然这个月过完 我可能脑子里又啥都不剩了 感觉自己跟个金鱼脑一样 十分沧桑1.首先 要做微信授权登录 你的有一个微信公众号 因为授权登录要配置APPID 以及网页授权域名 这里的网页授权域名真的让我栽了好多的坑一言难尽 啥也不说了 直接上图 公众号的开…...
2024/5/7 19:37:01 - mpc学习记录(一)
下面展示一些 内联代码片。 function [yx,y,bodyp2,totZMP,ZMP_body,zmpdesign,comx,comy,px,py,N1,t_goal,Link] = calcu20180330_zhou palse=1; stnum =0; num =20; stepwidth=260; stepx=80; global Link N1; global bodyp; %global comx; %间隔取为两秒,if else使得低电平…...
2024/4/16 12:20:56 - HIT软件构造课后调查:软件开发的敏捷宣言
敏捷开发是通过快速迭代和小规模的持续改进,以适应快速变化。 迭代是开发之后由用户试用和评审,发现问题反馈给开发者,开发者修改原有的实现,继续交给用户评审。循环往复这个过程,直到用户满意为止。时间代价高,但开发质量也高。 敏捷开发的内容如下: 我们最重要的目标,…...
2024/5/7 23:18:54 - write系统调用的实现
作者: 陈曦 环境: MacOS 10.14.5Apple LLVM version 10.0.1 (clang-1001.0.46.4)Target: x86_64-apple-darwin18.6.0转载请注明出处1.3 你想知道的C语言 Q: 承接printf的底层实现,write系统调用是否就是写到stdout文件最后传递给LCD驱动显示?A: write系统调用确实会把…...
2024/4/18 22:33:57 - mpc记录(二)
function [yyxx,zmp,totZMP,COMx,COMy,COMz,ZMPx,ZMPy,Rfoot_p,Lfoot_p] = SinglemassVariableHeight() % ,Rp,Lp,RR,bodypx,bodypy,comx,comy,comz palse=1; num=10; T_r=1; Ts=0.8; dt=0.02; stepx=40; Zc=320; stepwidth=100;stepwidth_r=100;%%stepwidth为髋部宽度,step…...
2024/5/7 23:20:34 - HBase-3 hbase过滤器
hbase过滤器概念种类比较过滤器比较过滤器的运算符比较过滤器的比较器连接代码RowFilter(rowkey过滤器)FamilyFilter(列族过滤器)QualifierFilter(列过滤器)ValueFilter(列值过滤器)专用过滤器SingleColumnValueFilter(单列值过滤器)SingleColumnValueExcludeFilter(列值排除过…...
2024/4/11 10:16:46 - docker(四)docker安全
文章目录docker(四)docker安全理解docker安全容器与资源的关系对docker容器进程进行控制(资源方面) docker(四)docker安全为什么资源的隔离和限制在云时代更加重要?在默认情况下,一个操作系统里所有运行的进程共享CPU和内存资源,如果程序设计不当,最极端的情况,某进程出…...
2024/4/16 12:23:02 - arduino笔记11:LED灯 + 面包板
2020.7.4这篇关于arduino借助面包板控制LED 的小项目,其实是2020无意的时候写就的,放在草稿箱里一放就是两个月。。。对于一个车辆工程专业的,纯自学控制方面的东西,和自己的学业没有交集,也就是靠兴趣、靠自己做的项目应用来驱动自己学习了。虽然说arduino是个玩具,但是…...
2024/4/19 14:58:00 - docker(五)数据的存储存储
文章目录docker(五)数据的存储存储storage driverData Volumebind mountdocker managed volume总结比较 docker(五)数据的存储存储 docker为容器提供了两种存放数据的资源; 1.由storage driver管理的镜像层和容器层 2.Data Volume storage driver在前面镜像章节我们学习到Docke…...
2024/4/16 12:21:55 - 自然场景文字检测
文字检测是文字识别的先觉条件。关于选题 感兴趣领域,文字检测与识别在现实场景中充满应用需求,现有算法仍有改善和提升空间;数据公开度,有些比赛数据集是不公开的,或者脱敏做得过度,这样不利于通过比赛提升对客观世界认知,缺少这种认知提升的话,不利于最终活学活用算法…...
2024/4/18 18:08:54 - 没用过这些 IDEA 插件?怪不得写代码头疼
学习使用一些插件,可以提高平常工作中的开发效率。对于我们开发人员很有帮助!插件安装 IDEA里面,依次选择打开 File → Settings → Plugins,在Plugins里面可以搜索需要的插件,然后安装(安装完插件,一定要重启Idea,不然插件不生效)1. Alibaba Java Coding Guidelines …...
2024/4/16 12:22:32 - 随便一个标题
学习下反反复复 反反复复付...
2024/4/18 17:53:03 - css常用布局-居中方法/盒模型/flexbox模型
参考连接 BFC 居中1 居中2 Flex 布局教程:语法篇 - 阮一峰的网络日志 flex-demo grid布局模型 linkTo mugu’s博客 一 css布局模型(.md+.png) 盒子模型1. display文档流显示外部显示类型控制在文档流中的排版inline block run-in内部显示类型控制子元素的排版flow layout g…...
2024/4/18 1:53:07 - 决策树原理实例(python)
决策树(Decision Tree)在机器学习中也是比较常见的一种算法,属于监督学习中的一种。看字面意思应该也比较容易理解,相比其他算法比如支持向量机(SVM)或神经网络,似乎决策树感觉“亲切”许多。优点:计算复杂度不高,输出结果易于理解,对中间值的缺失值不敏感,可以处理不相…...
2024/4/16 12:22:10 - * 盒子模型塌陷的三种解决方法
1.为父盒子设置border,为外层添加border后父子盒子就不是真正意义上的贴合(可以设置成透明:border:1px solid transparent)。 2.为父盒子添加overflow:hidden;(溢出部分隐藏) 3.为父盒子设定padding值;(把子盒子踢开)...
2024/4/16 12:22:51 - docker(六)容器间通信
文章目录docker(六)容器间通信ip通信Docker DNS Serverjoined容器 docker(六)容器间通信容器之间可以通过IP Docker DNS Server 或joined容器三种方式通信ip通信从前面的例子可以得出一个结论:两个容器要能通信,必须有属于同一个网络的网卡 具体做法就是在容器创建的时候通过…...
2024/4/16 12:23:01 - 读研整活笔记1:调研编译器solang
读研整活笔记1:调研编译器solang需求理解一.solidity 和wasm1.solidity2.wasm3.个人理解二.solang编译器1.简介2.安装3.运行从Docker映像运行Solang三.测试wasm安装Substrate安装A Substrate Node和ink! CLI安装基板节点(A Substrate Node)墨水!命令行界面运行substrate no…...
2024/4/18 14:15:01 - fastjson报Caused by: java.lang.NoSuchFieldError: UTF8错误
最近几天一直在处理fastjson的UTF8报错,一直没有找到原因,花了几天潜心研究,终于解决。下面详细描述下我的解决方式和思路。这个错的完整堆栈如下:Caused by: java.lang.NoSuchFieldError: UTF8 at com.alibaba.fastjson.support.config.FastJsonConfig.(FastJsonConfig.ja…...
2024/4/16 12:23:07
最新文章
- 突然断电,瀚高数据库启动失败
服务器临时断电后,数据库启动不起来 ps -ef|grep postgres 进到数据库的data目录下看下ls 看下 查看临时文件: ls -la /tmp 把这两个5866的文件改个名字张老师 加个bak就行 改完了pg_ctl start起一下...
2024/5/8 5:45:01 - 梯度消失和梯度爆炸的一些处理方法
在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言,在此感激不尽。 权重和梯度的更新公式如下: w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...
2024/5/7 10:36:02 - SpringBoot --pagehelper分页
目录 1.建立数据库 2.页面显示 3.基本逻辑 4.配置依赖 5.使用pagehelper 6.页面列表 页面 效果 1.建立数据库 create database if not exists my_book; use my_book; create table if not exists myBook (id int primary key auto_increment,name varchar(50) not …...
2024/5/4 4:06:17 - 【干货】零售商的商品规划策略
商品规划,无疑是零售业的生命之源,是推动业务腾飞的强大引擎。一个精心策划的商品规划策略,不仅能帮助零售商在激烈的市场竞争中稳固立足,更能精准捕捉客户需求,实现利润最大化。以下,我们将深入探讨零售商…...
2024/5/5 12:33:12 - 浅聊什么是Redis?
需求:MySQL面临大量的查询,即读写操作,因此类比CPU,给数据加缓存,Redis诞生。应用程序从MySQL查询的数据,在Redis设置缓存(记录在内存中,无需IO操作),后再需要…...
2024/5/6 10:30:50 - 【外汇早评】美通胀数据走低,美元调整
原标题:【外汇早评】美通胀数据走低,美元调整昨日美国方面公布了新一期的核心PCE物价指数数据,同比增长1.6%,低于前值和预期值的1.7%,距离美联储的通胀目标2%继续走低,通胀压力较低,且此前美国一季度GDP初值中的消费部分下滑明显,因此市场对美联储后续更可能降息的政策…...
2024/5/7 5:50:09 - 【原油贵金属周评】原油多头拥挤,价格调整
原标题:【原油贵金属周评】原油多头拥挤,价格调整本周国际劳动节,我们喜迎四天假期,但是整个金融市场确实流动性充沛,大事频发,各个商品波动剧烈。美国方面,在本周四凌晨公布5月份的利率决议和新闻发布会,维持联邦基金利率在2.25%-2.50%不变,符合市场预期。同时美联储…...
2024/5/7 9:45:25 - 【外汇周评】靓丽非农不及疲软通胀影响
原标题:【外汇周评】靓丽非农不及疲软通胀影响在刚结束的周五,美国方面公布了新一期的非农就业数据,大幅好于前值和预期,新增就业重新回到20万以上。具体数据: 美国4月非农就业人口变动 26.3万人,预期 19万人,前值 19.6万人。 美国4月失业率 3.6%,预期 3.8%,前值 3…...
2024/5/4 23:54:56 - 【原油贵金属早评】库存继续增加,油价收跌
原标题:【原油贵金属早评】库存继续增加,油价收跌周三清晨公布美国当周API原油库存数据,上周原油库存增加281万桶至4.692亿桶,增幅超过预期的74.4万桶。且有消息人士称,沙特阿美据悉将于6月向亚洲炼油厂额外出售更多原油,印度炼油商预计将每日获得至多20万桶的额外原油供…...
2024/5/7 14:25:14 - 【外汇早评】日本央行会议纪要不改日元强势
原标题:【外汇早评】日本央行会议纪要不改日元强势近两日日元大幅走强与近期市场风险情绪上升,避险资金回流日元有关,也与前一段时间的美日贸易谈判给日本缓冲期,日本方面对汇率问题也避免继续贬值有关。虽然今日早间日本央行公布的利率会议纪要仍然是支持宽松政策,但这符…...
2024/5/4 23:54:56 - 【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响
原标题:【原油贵金属早评】欧佩克稳定市场,填补伊朗问题的影响近日伊朗局势升温,导致市场担忧影响原油供给,油价试图反弹。此时OPEC表态稳定市场。据消息人士透露,沙特6月石油出口料将低于700万桶/日,沙特已经收到石油消费国提出的6月份扩大出口的“适度要求”,沙特将满…...
2024/5/4 23:55:05 - 【外汇早评】美欲与伊朗重谈协议
原标题:【外汇早评】美欲与伊朗重谈协议美国对伊朗的制裁遭到伊朗的抗议,昨日伊朗方面提出将部分退出伊核协议。而此行为又遭到欧洲方面对伊朗的谴责和警告,伊朗外长昨日回应称,欧洲国家履行它们的义务,伊核协议就能保证存续。据传闻伊朗的导弹已经对准了以色列和美国的航…...
2024/5/4 23:54:56 - 【原油贵金属早评】波动率飙升,市场情绪动荡
原标题:【原油贵金属早评】波动率飙升,市场情绪动荡因中美贸易谈判不安情绪影响,金融市场各资产品种出现明显的波动。随着美国与中方开启第十一轮谈判之际,美国按照既定计划向中国2000亿商品征收25%的关税,市场情绪有所平复,已经开始接受这一事实。虽然波动率-恐慌指数VI…...
2024/5/7 11:36:39 - 【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试
原标题:【原油贵金属周评】伊朗局势升温,黄金多头跃跃欲试美国和伊朗的局势继续升温,市场风险情绪上升,避险黄金有向上突破阻力的迹象。原油方面稍显平稳,近期美国和OPEC加大供给及市场需求回落的影响,伊朗局势并未推升油价走强。近期中美贸易谈判摩擦再度升级,美国对中…...
2024/5/4 23:54:56 - 【原油贵金属早评】市场情绪继续恶化,黄金上破
原标题:【原油贵金属早评】市场情绪继续恶化,黄金上破周初中国针对于美国加征关税的进行的反制措施引发市场情绪的大幅波动,人民币汇率出现大幅的贬值动能,金融市场受到非常明显的冲击。尤其是波动率起来之后,对于股市的表现尤其不安。隔夜美国股市出现明显的下行走势,这…...
2024/5/6 1:40:42 - 【外汇早评】美伊僵持,风险情绪继续升温
原标题:【外汇早评】美伊僵持,风险情绪继续升温昨日沙特两艘油轮再次发生爆炸事件,导致波斯湾局势进一步恶化,市场担忧美伊可能会出现摩擦生火,避险品种获得支撑,黄金和日元大幅走强。美指受中美贸易问题影响而在低位震荡。继5月12日,四艘商船在阿联酋领海附近的阿曼湾、…...
2024/5/4 23:54:56 - 【原油贵金属早评】贸易冲突导致需求低迷,油价弱势
原标题:【原油贵金属早评】贸易冲突导致需求低迷,油价弱势近日虽然伊朗局势升温,中东地区几起油船被袭击事件影响,但油价并未走高,而是出于调整结构中。由于市场预期局势失控的可能性较低,而中美贸易问题导致的全球经济衰退风险更大,需求会持续低迷,因此油价调整压力较…...
2024/5/4 23:55:17 - 氧生福地 玩美北湖(上)——为时光守候两千年
原标题:氧生福地 玩美北湖(上)——为时光守候两千年一次说走就走的旅行,只有一张高铁票的距离~ 所以,湖南郴州,我来了~ 从广州南站出发,一个半小时就到达郴州西站了。在动车上,同时改票的南风兄和我居然被分到了一个车厢,所以一路非常愉快地聊了过来。 挺好,最起…...
2024/5/7 9:26:26 - 氧生福地 玩美北湖(中)——永春梯田里的美与鲜
原标题:氧生福地 玩美北湖(中)——永春梯田里的美与鲜一觉醒来,因为大家太爱“美”照,在柳毅山庄去寻找龙女而错过了早餐时间。近十点,向导坏坏还是带着饥肠辘辘的我们去吃郴州最富有盛名的“鱼头粉”。说这是“十二分推荐”,到郴州必吃的美食之一。 哇塞!那个味美香甜…...
2024/5/4 23:54:56 - 氧生福地 玩美北湖(下)——奔跑吧骚年!
原标题:氧生福地 玩美北湖(下)——奔跑吧骚年!让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 让我们红尘做伴 活得潇潇洒洒 策马奔腾共享人世繁华 对酒当歌唱出心中喜悦 轰轰烈烈把握青春年华 啊……啊……啊 两…...
2024/5/4 23:55:06 - 扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!
原标题:扒开伪装医用面膜,翻六倍价格宰客,小姐姐注意了!扒开伪装医用面膜,翻六倍价格宰客!当行业里的某一品项火爆了,就会有很多商家蹭热度,装逼忽悠,最近火爆朋友圈的医用面膜,被沾上了污点,到底怎么回事呢? “比普通面膜安全、效果好!痘痘、痘印、敏感肌都能用…...
2024/5/5 8:13:33 - 「发现」铁皮石斛仙草之神奇功效用于医用面膜
原标题:「发现」铁皮石斛仙草之神奇功效用于医用面膜丽彦妆铁皮石斛医用面膜|石斛多糖无菌修护补水贴19大优势: 1、铁皮石斛:自唐宋以来,一直被列为皇室贡品,铁皮石斛生于海拔1600米的悬崖峭壁之上,繁殖力差,产量极低,所以古代仅供皇室、贵族享用 2、铁皮石斛自古民间…...
2024/5/4 23:55:16 - 丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者
原标题:丽彦妆\医用面膜\冷敷贴轻奢医学护肤引导者【公司简介】 广州华彬企业隶属香港华彬集团有限公司,专注美业21年,其旗下品牌: 「圣茵美」私密荷尔蒙抗衰,产后修复 「圣仪轩」私密荷尔蒙抗衰,产后修复 「花茵莳」私密荷尔蒙抗衰,产后修复 「丽彦妆」专注医学护…...
2024/5/4 23:54:58 - 广州械字号面膜生产厂家OEM/ODM4项须知!
原标题:广州械字号面膜生产厂家OEM/ODM4项须知!广州械字号面膜生产厂家OEM/ODM流程及注意事项解读: 械字号医用面膜,其实在我国并没有严格的定义,通常我们说的医美面膜指的应该是一种「医用敷料」,也就是说,医用面膜其实算作「医疗器械」的一种,又称「医用冷敷贴」。 …...
2024/5/6 21:42:42 - 械字号医用眼膜缓解用眼过度到底有无作用?
原标题:械字号医用眼膜缓解用眼过度到底有无作用?医用眼膜/械字号眼膜/医用冷敷眼贴 凝胶层为亲水高分子材料,含70%以上的水分。体表皮肤温度传导到本产品的凝胶层,热量被凝胶内水分子吸收,通过水分的蒸发带走大量的热量,可迅速地降低体表皮肤局部温度,减轻局部皮肤的灼…...
2024/5/4 23:54:56 - 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...
解析如下:1、长按电脑电源键直至关机,然后再按一次电源健重启电脑,按F8健进入安全模式2、安全模式下进入Windows系统桌面后,按住“winR”打开运行窗口,输入“services.msc”打开服务设置3、在服务界面,选中…...
2022/11/19 21:17:18 - 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。
%读入6幅图像(每一幅图像的大小是564*564) f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...
2022/11/19 21:17:16 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...
win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面,在等待界面中我们需要等待操作结束才能关机,虽然这比较麻烦,但是对系统进行配置和升级…...
2022/11/19 21:17:15 - 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...
有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows,请勿关闭计算机”的提示,要过很久才能进入系统,有的用户甚至几个小时也无法进入,下面就教大家这个问题的解决方法。第一种方法:我们首先在左下角的“开始…...
2022/11/19 21:17:14 - win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...
置信有很多用户都跟小编一样遇到过这样的问题,电脑时发现开机屏幕显现“正在配置Windows Update,请勿关机”(如下图所示),而且还需求等大约5分钟才干进入系统。这是怎样回事呢?一切都是正常操作的,为什么开时机呈现“正…...
2022/11/19 21:17:13 - 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...
Win7系统开机启动时总是出现“配置Windows请勿关机”的提示,没过几秒后电脑自动重启,每次开机都这样无法进入系统,此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一:开机按下F8,在出现的Windows高级启动选…...
2022/11/19 21:17:12 - 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...
有不少windows10系统用户反映说碰到这样一个情况,就是电脑提示正在准备windows请勿关闭计算机,碰到这样的问题该怎么解决呢,现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法:1、2、依次…...
2022/11/19 21:17:11 - 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...
今天和大家分享一下win7系统重装了Win7旗舰版系统后,每次关机的时候桌面上都会显示一个“配置Windows Update的界面,提示请勿关闭计算机”,每次停留好几分钟才能正常关机,导致什么情况引起的呢?出现配置Windows Update…...
2022/11/19 21:17:10 - 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...
只能是等着,别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚,只能是考虑备份数据后重装系统了。解决来方案一:管理员运行cmd:net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...
2022/11/19 21:17:09 - 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?
原标题:电脑提示“配置Windows Update请勿关闭计算机”怎么办?win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢?一般的方…...
2022/11/19 21:17:08 - 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...
关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!关机提示 windows7 正在配…...
2022/11/19 21:17:05 - 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...
钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...
2022/11/19 21:17:05 - 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...
前几天班里有位学生电脑(windows 7系统)出问题了,具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面,长时间没反应,无法进入系统。这个问题原来帮其他同学也解决过,网上搜了不少资料&#x…...
2022/11/19 21:17:04 - 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...
本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法,并在最后教给你1种保护系统安全的好方法,一起来看看!电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中,添加了1个新功能在“磁…...
2022/11/19 21:17:03 - 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...
许多用户在长期不使用电脑的时候,开启电脑发现电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机。。.这要怎么办呢?下面小编就带着大家一起看看吧!如果能够正常进入系统,建议您暂时移…...
2022/11/19 21:17:02 - 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...
配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!配置windows update失败 还原更改 请勿关闭计算机&#x…...
2022/11/19 21:17:01 - 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...
不知道大家有没有遇到过这样的一个问题,就是我们的win7系统在关机的时候,总是喜欢显示“准备配置windows,请勿关机”这样的一个页面,没有什么大碍,但是如果一直等着的话就要两个小时甚至更久都关不了机,非常…...
2022/11/19 21:17:00 - 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...
当电脑出现正在准备配置windows请勿关闭计算机时,一般是您正对windows进行升级,但是这个要是长时间没有反应,我们不能再傻等下去了。可能是电脑出了别的问题了,来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...
2022/11/19 21:16:59 - 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...
我们使用电脑的过程中有时会遇到这种情况,当我们打开电脑之后,发现一直停留在一个界面:“配置Windows Update失败,还原更改请勿关闭计算机”,等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢࿰…...
2022/11/19 21:16:58 - 如何在iPhone上关闭“请勿打扰”
Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...
2022/11/19 21:16:57