//雪花飘落特效 //右上角github跳转   

docker制作镜像

已容器的方式制作镜像:


docker export -o jdk1.8_run.tar 49c73b230e90    #导出 49c73b230e90容器到文件jdk1.8_run.tar
docker export 容器ID >  镜像.tar
cat 镜像.tar |docker import - mid_office_nlp:1.8.1
docker tag 67d37949ecc9fcc703de840762719a817fcce08f4e90a552325a862bd97963fa 172.25.203.50:35000/aie/cia/mid_office_nlp:1.8.1

docker push 172.25.203.50:35000/aie/cia/mid_office_nlp:1.8.1

docker build -t ubuntu/python3 .

测试创建的docker镜像:

 

 

 +++++++++++++++++++++++++++++++++++

Dockerfils命令详解:https://www.cnblogs.com/panwenbin-logs/p/8007348.html

以nginx为例:
#-----------dockerfile构建镜像--------
dockerfile包括:
1、基础镜像信息
2、维护者信息
3、镜像操作指令
4、容器启动时执行指令

dockerfile目录:

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#This is My first Dockerfile
#Version 1.0
#Author: YangYangming
 
#Base images
FROM centos
 
#MAINTAINER
MAINTAINER YangYangming
 
#ADD
ADD pcre-8.37.tar.gz /usr/local/src
ADD nginx-1.17.5.tar.gz /usr/local/src
 
#RUN
RUN yum install -y wget gcc gcc-c++ make openssl-devel
RUN useradd -s /sbin/nologin -M www
 
#WORKDIR
WORKDIR /usr/local/src/nginx-1.17.5
 
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install
 
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
 
ENV PATH /usr/local/nginx/sbin:$PATH
 
EXPOSE 80
 
CMD ["nginx"]

 构建Dcokerfile:

docker build -t nginx-file:v1 .

++++++++++++++++++++++++++++++++++++

 

############################################################

docker build 命令用于使用 Dockerfile 创建镜像。

语法    docker build [OPTIONS] PATH | URL | -

创建一个空dir,名为py:

 

编辑docketfile 和 requirement.txt

然后创建镜像

docker build -t myimage

 

OPTIONS说明:

--build-arg=[] :设置镜像创建时的变量;

--cpu-shares :设置 cpu 使用权重;

--cpu-period :限制 CPU CFS周期;

--cpu-quota :限制 CPU CFS配额;

--cpuset-cpus :指定使用的CPU id;

--cpuset-mems :指定使用的内存 id;

--disable-content-trust :忽略校验,默认开启;

-f :指定要使用的Dockerfile路径;

--force-rm :设置镜像过程中删除中间容器;

--isolation :使用容器隔离技术;

--label=[] :设置镜像使用的元数据;

-m :设置内存最大值;

--memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;

--no-cache :创建镜像的过程不使用缓存;

--pull :尝试去更新镜像的新版本;

--quiet, -q :安静模式,成功后只输出镜像 ID;

--rm :设置镜像成功后删除中间容器;

--shm-size :设置/dev/shm的大小,默认值是64M;

--ulimit :Ulimit配置。

--tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。

--network: 默认 default。在构建期间设置RUN指令的网络模式

 

实例

1. 使用当前目录的 Dockerfile 创建镜像,标签为 runoob/ubuntu:v1。

$ docker build -t runoob/ubuntu:v1 .

Question: 这是不是name: tag的形式????

2. 使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像。

$ docker build github.com/creack/docker-firefox

3. 也可以通过 -f Dockerfile 文件的位置:

$ docker build -f /path/to/a/Dockerfile .

 

在 Docker 守护进程执行 Dockerfile 中的指令前,首先会对 Dockerfile 进行语法检查,有语法错误时会返回:

$ docker build -t test/myapp .Sending build context to Docker daemon 2.048 kBError response from daemon: Unknown instruction: RUNCMD


###################################################################
 

 

posted @ 2020-09-04 10:34  农夫运维  阅读(88)  评论(0编辑  收藏  举报