Docker容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了Docker引擎的服务器上(包括流行的Linux机器、Windows机器),也可以实现虚拟化。以下是Docker容器的特点:
docker run -d \
--name nginx \
--net=host \
-v /home/docker/apps/nginx/www:/usr/share/nginx/html \
-v /home/docker/apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/docker/apps/nginx/logs:/var/log/nginx \
-v /home/docker/apps/nginx/conf.d:/etc/nginx/conf.d \
-v /home/docker/apps/nginx/cert:/etc/nginx/cert \
nginx
-d: 在后台以守护进程模式运行容器。
--name nginx: 为容器指定一个名称,可以进行自定义名称。
?
?-v /home/docker/apps/nginx/www:/usr/share/nginx/html \: 将主机上的 NGINX 配置文件目录挂载到容器中的usr/share/nginx/html目录,以便使用自定义的 NGINX 配置。
所以在nginx??location中只需要指向容器的路径,实际访问的就是主机的路径,他们是个映射关系,或者说是个代理关系
如:配合的是??/usr/share/nginx/html/member-plat? 实际主机上?/home/docker/apps/nginx/wwwmember-plat?
#静态资源
location /icon/ {
root /usr/share/nginx/html/member-plat;
try_files $uri $uri/ /index.html;
}
?docker run --name eureka_docker??-d -p 8861:8861 eureka_host
?docker run --name eureka_docker??-d -p 8861:8861 eureka_host
所以这一段的意思是 运行主机上的 eureka_host? 在容器中叫?eureka_docker? 主机的??8861 映射 容器的?8861 ,通过主机的8861 实际访问的就是容器的?8861
Dockerfile是一个用来构建镜像的文本文件,其中包含了一系列的指令和说明,这些指令和说明告诉Docker如何构建镜像。
Docker通过阅读Dockerfile中的指令代码来构建镜像文件。在Dockerfile中,可以使用多种指令来定义如何构建镜像,例如:
要创建一个Dockerfile,需要在项目目录中创建一个名为Dockerfile的文件,并在其中编写指令。编写Dockerfile的指令将按照文件中的顺序逐一执行。使用docker build命令可以构建镜像。
FROM java:8
VOLUME /tmp
ADD eureka.jar eureka.jar
EXPOSE 8861