1.Dockfile文件使用

创建一个Dockerfile文件,并指定自定义镜像信息

#Dockfile文件中常用内容:

from:指定当前自定义镜像依赖的环境
copy:将相对路径下的内容复制到自定义镜像中
workdir:声明镜像默认的工作目录
cmd:需要执行的命令(在workdir下执行,cmd可以写多个但只以最后一个为准)

 

例如:

from daocloud.io/library/tomcat:8.5.15-jre8
copy README.md /usr/local/tomcat/webapps

 

制作镜像命令:

docker build -t 镜像名称[:版本] 文件目录

 

2.Docker-Compse的使用

2.1下载Docker-Compose

下载地址:https://github.com/docker/compose

根据自己的系统下载对应的安装包,mac系统下载Darwin版本

 

2.2安装Docker-Compose

将下载的文件放到/usr/local/bin目录下,修改文件权限为可执行文件,确认此路径添加到环境变量中。

mac系统环境变量文件为:~/.bash_profile

linux系统环境变量文件为:/etc/profile

运行命令:

docker-compose -v

可以看到Docker-Compose的版本号,本文使用的是1.24.1版本。

 

2.3使用Docker-Compose

docker-compse.yml文件举例,从daocloud获取mysql和tomcat镜像,并使用docker-compose运行 :

 1 version: '3.1' #v1.24.1 对应 v3.1
 2 services: #在本文件中,不要使用/tab
 3   mysql:
 4     restart: always
 5     image: daocloud.io/library/mysql:5.7.4
 6     container_name: mysql_compose
 7     ports: 
 8       - 3307:3306
 9     environment: 
10       MYSQL_ROOT_PASSWORD: root #参数 -e
11       TimeZone: Asia/shanghai
12     volumes:
13       - /Users/yangasen/Desktop/mysql_vol/data:/var/lib/mysql #数据卷 -v
14   tomcat: #服务的名称
15     restart: always #只要docker启动,这个容器就一起启动
16     image: daocloud.io/library/tomcat:8.5.15-jre8 #指定镜像的路径
17     container_name: tomcat_compose #容器的名称 --name
18     ports:
19       - 8081:8080 #指定端口号的映射 -p
20     environment:
21       TZ: Asia/shanghai
22     volumes:
23       - /Users/yangasen/Desktop/tomcat_vol/webapps:/usr/local/tomcat/webapps
24       - /Users/yangasen/Desktop/tomcat_vol/logs:/usr/local/tomcat/logs

 

基于docker-compse.yml的命令:

启动:

docker-compose up -d

 

停止并删除容器:

docker-compose down

 

开启/关闭由docker-compose维护的容器:

docker-compose start|stop|restart

 

查看由docker-compse管理的容器:

docker-compose ps

 

查看日志:

docker-compose logs -f

 

 

3.Docker-Compose与Dokerfile文件配合使用

编写格式如下:

 1 version: '3.1' #v1.24.1 对应 v3.1
 2 services:
 3   ssm:
 4     restart: always
 5     build: #指定Dockerfile
 6       context: .
 7       dockerfile: Dockerfile
 8     image: ssm:1.0.1
 9     container_name: ssm
10     port: 
11       - 8082:8080
12     environment:
13       TZ: Asia/shanghai

此文件和Dockerfile文件放在一起,然后执行docker-compose即可制作自定义镜像并运行。

注意:可以直接启动基于docker-compose.yml以及Dockfile文件构建的自定义镜像。

docker-compse up - d

如果自定义镜像不存在,这个命令会先构建自定义镜像,再启动。

如果自定义镜像已经存在,这个命令不会重新构建镜像,会直接启动。

如果需要重新构建镜像,可以用如下命令:docker-compose build

或者在启动之前直接添加--build参数:docker-compose up - d -- build

posted on 2020-12-18 14:25  Sempron2800+  阅读(116)  评论(0编辑  收藏  举报