-
网络类型有Bridge、host、none,分别是桥接、主机、无网络
查看全部 -
docker exec 在运行的容器中运行命令
查看全部 -
docker 运行过程
查看全部 -
docker run命令
运行docker镜像
查看全部 -
docker pull从远程仓库拉取镜像
查看全部 -
docker images 查看本机有哪些镜像
查看全部 -
docker容器是一个进程
查看全部 -
查看全部
-
运行自己的镜像 :
docker run -d -p 本机端口号:容器端口号 镜像名称 -p 指定端口号
比如:docker run -d -p 8888:8080 镜像名字
安装mysql镜像:
docker pull hub.c.163.com/library/mysql:latest
运行mysql镜像:
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql
查看全部 -
1、制作自己的镜像
1.1、Dockerfile:(告诉Docker 我要怎么样制作我的镜像)是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像。简化了从头到尾的流程并极大的简化了部署工作。
1.2、docker build:(用来执行 Dockerfile 里面所描述的每一件事情 最终把Docker镜像构建出来)用于使用Docker而file创建镜像。
1.3、Jpress: http://jpress.io/:开源的java web应用。
制作 java WEB应用:
1.编辑 DockerFile(dockerFile是docke镜像的创建脚本文件,告诉docker按照文件里的流程去创建镜像)
DockerFile文件编辑流程格式:
1)、from tomcat (from tomcat是指创建的镜像继承自自己 指定的tomcat)
2)、MAINTAINER [姓名][联系方式] (创建镜像人的信息,可不写)
3)、COPY [本地war包] [指定的tomcat/webapps/下]
例:COPY dome.war /usr/local/tomcat/webapps
4)、给镜像起一个名称 (可以在docker命令创建)
2. 构建镜像:docker build Dokerfile文件目录(docker build命令是执行这个file脚本文件的命令)
补:docker build -t REPOSITORY:TAG 给镜像指定一个名称和版本
docker 操作命令 --help 此命令是查询操作命令 帮助
如:docker build -t demo:latest . (这里点.表示是Dockerfile文件的目录,为当前目录)
一、自己创建Dockerfile,dockerfile中包括
1.基准镜像 from xxxxx镜像地址
2.作者MAINTAINER信息 XXX XXX.@163.COM
3.COPY Jpress.war /usr/local/tomcat/webapps
二、docker build -t jpress:latest给自定义镜像指定name和tag(docker build .当前目录下构建docker)
三、附jpress下载地址:http://jpress.io/
查看全部 -
Docker使用了Linux的namespace技术来进行资源隔离,如PID Namespace隔离进程,Mount Namespace隔离文件系统,Network Namespace隔离网络等。一个Docker容器一般会分配一个独立的Network Namespace。
1、docker网络类型:
1.1、bridge模式(桥接):docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。
1.2、host模式:容器不会获得一个独立的Network Namespace,而是和宿主机共用一个Network Namespace。容器将不会虚拟出自己的网卡,配置自己的IP等,而是使用宿主机的IP和端口。
1.3、none模式:Docker容器拥有自己的Network Namespace,但是,并不为Docker容器进行任何网络配置。docker将不会和外界的任何网络进行通讯。
1.4、container模式:新创建的容器和已经存在的一个容器共享一个Network Namespace,而不是和宿主机共享。新创建的容器不会创建自己的网卡,配置自己的IP,而是和一个指定的容器共享IP、端口范围等。
2、Docker端口映射
在使用Bridge模式的时候,会涉及到一个问题,Bridge所使用的网路需要一个独立的Namespace,这就需要一种技术使容器内的端口可以在主机上访问,这种技术就是端口映射。Docker可以指定你想把容器内的某个端口可以在容器所在主机上的某一个端口之间进行映射,当你在访问主机上的端口的时候其实就是访问容器内的端口
3、进行访问
3.1、docker启动 -p 的使用: docker run -d -p 主机端口:容器端口 容器的名称
比如:docker run -d -p 8080:80 hub.c.163.com/library/nginx
3.2、停止docker:docker stop 容器Id
3.3、docker启动 -P 的使用(所有的监听端口都会和主机建立一个映射): docker run -d -P 容器名称
Docker run -d -p 8080:80 IMAGE,默认桥接模式小p端口映射
Docker run -d -P(注意这里是大写) IMAGE(容器名称) docker开放所有随机端口映射到容器上
查看全部 -
1、docker镜像就是image。从本质上来说镜像就是一系列的文件(包括应用程序的文件,也包括应用环境的文件),以联合文件系统分层的形式保存到本地;
2、docker镜像:(docker中的文件系统都是只读的)
从本质上面来说,Docker就是一系列的文件,可以包括我们的应用的程序的文件,我们应用的环境的文件,Docker把这些文件保存在了本地,既然保存了,那么是以什么样的格式进行保存的呢?说到镜像的存储格式,就要说到linux的一个存储技术,叫做联合文件系统,Union FS,它是一种分层的文件系统,它可以将不同的目录挂到同一个虚拟的文件系统下面,通过这样一种方式,联合文件系统就可以实现文件的分成,比如test1可以看做是第一层,test2可以看做是第二层,每一层有每一层自己的文件,Docker镜像就是利用了这种分层的概念来实现了镜像存储,
查看全部 -
1、docker的容器可理解为一个进程(可以将容器想象为一个虚拟机);
2、docker容器中除了Container层可写外,其他层都是只读的/3镜像的各层都是可读的,如果想对可读层进行修改操作,那么本层内容会传到可写层,然后再进行修改操作;
3、当我们的应用进行文件查找是会从最顶层可写层查找(因为可读层内容都传到可写层),如果可写层没有相应数据才会去可读层查找。
4、容器中Container层可以修改(即可写),但是在镜像中Container层是不可以修改的,这样也就保证了同一个镜像可以生成多个容器独立运行,而他们之间没有任何的干扰。
Docker容器的本质是一个进程。Docker镜像的每一层都是只读的,而容器作为最上层,是可读可写的。如果程序需要对镜像进行修改,那么Docker会把要修改的镜像文件拷贝到最上层的容器中,然后再进行修改。往后对该文件的访问会优先从容器中读取,寻找文件的顺序是从下往下。
查看全部 -
1、构建镜像的目的:是为了在其他的服务器,其他的环境运行我们的程序。(为了在其他地方运行,我们就需要将构建的镜像传递到目的地才可以,仓库可以起到传输传递作用。)
2、传输过程:先将构建的镜像传到docker仓库中,再由目的地去docker仓库将我们的镜像拉过去,这样就完成了传输过程。
3、docker仓库的提供者:中央服务器
中央服务器地址:hub.docker.com(国际)、c.163.com(国内)
查看全部 -
Docker 核心
1、镜像(集装箱)(Build -> 构建镜像)
2、仓库(超级码头)(Ship -> (从仓库和我们的主机上)运输镜像)
3、容器(运行程序的地方)(Run -> 运行的 Build(镜像) 就是一个容器
)
顺序:
1、去 Ship(仓库) 把 Build(镜像) 拉到本地
2、用一条命令 把 Build(镜像) 运行起来
3、变成 Run(容器)
查看全部
举报