Windows安装使用docker与docker-compose

1. Docker介绍

 

 

--摘自维基百科

1.1. 组成部分

dockerClient客户端

Docker Daemon守护进程

Docker Image镜像

DockerContainer容器

 

1.2. 架构

 

 

 

--摘自百度百科

 

本文章注重在Windows安装和构建使用Docker容器,不会对docker基础上做过多的介绍,相关资料请自行查阅官方文档和搜索其他博客文章学习。

 

这里推荐这个对docker基础知识的文章:
https://www.cnblogs.com/clsn/p/8410309.html,感谢这位网友写出这么完整的文章。

 

2. Docker下载

Linux:

Mac/Windows:https://www.docker.com/get-started

 

 

 

下载Windows版:https://hub.docker.com/editions/community/docker-ce-desktop-windows

 

注意:docker提示需要登录方可下载,如果您没有账号,请注册一个再下载。

 

3. 安装

下载完毕后将会得到一个exe可以执行的安装包

 

 

3.1. 检查电脑是否开启虚拟化

任务管理器

 

 

注意:如果没有开启虚拟化,请进入BIOS设置开始,因为docker是虚拟化容器,所以需要硬件的支持。

 

3.2. 双击安装

 

3.3. 安装完毕

 

 

3.4. 启动docker

桌面图标

 

 

任务栏

3.5. 配置镜像仓库

由于docker默认使用的官方的国外的镜像,导致在国内使用的朋友pull镜像下来过程漫长,这里你有阿里云可以配置docker镜像的国内仓库,下载镜像的时间会减少很多。

3.6. 获取阿里云镜像地址

产品与服务 --> 容器镜像服务

 

复制加速地址

3.6.1. 配置步骤

任务栏右击docker图标,选择settings并打开。

复制你的阿里云镜像加速地址。

 

 

经过以上的操作,docker的安装和配置已基本完成,下面介绍Windows如何使用docker。

 

4. 使用

在Windows环境下,我们将使用系统自带的命令控制台(Windows PowerShell),本人的电脑是Windows10。

 

4.1. 查看docker版本

1

# docker -v

4.2. 运行tomcat容器

1

# docker run -it --rm -p 8888:8080 tomcat

 

通过浏览器访问tomcat:localhost:8888

4.3. 查看已下载的镜像

1

#  docker images

5. 安装docker-compose

Define and run multi-container applications with Docker。

方便对docker容器的管理,使用一个配置即可实现所有容器的管理。

5.1. 下载:https://github.com/docker/compose

 

 

5.2. 选择你操作系统对应的版本

 

实质上compose是python编写对docker扩展支持的插件。

5.3. 安装

双击可执行安装文件

5.4. 检查是否安装成功

1

# docker-compose -v

6. 使用docker-compose 

使用docker-compose前提情况,需要创建一个文件名为docker-compose.yml的文件。

6.1. 配置与启动tomcat

6.1.1. 配置

创建docker-compose.yml

 

1

2

3

4

5

6

7

8

9

10

11

12

13

version: '3'

services:

  tomcat:

    restart: always

    image: tomcat

    container_name: tomcat

    ports:

      - 8080:8080

    volumes:

      - d://docker/tomcat/webapps:/usr/local/tomcat/webapps

      - d://docker/tomcat/logs:/usr/local/tomcat/logs

    environment:

      TZ: Asia/Shanghai

 

version:’3’ :表示compose对docker版本的支持,这里是compose版本,并非是docker版本。 

services: 表示一个该配置文件的所有容器实例,支持配置多个容器实例。

tomcat:表示是一个多个容器中的其中一个

restart: always:表示该容器实例是随着机器启动而启动。

image: tomcat:表示本容器使用的镜像是tomcat,如需要指定版本号则 image: tomcat:8.0。

container_name: tomcat:表示容器的一个别名。

ports:表示容器端口映射到宿主机端口。

volumes:表示dockers容器的数据卷,将容器实例的目录映射到宿主机上盘符目录。

environment:表示容器环境的设置,我这里配置的是tomcat容器的时区时间为亚洲/上海。

6.1.2. 启动

首先进入到你docker-compose.yml文件所存放的目录

1

# docker-compose up -d

还记得我们的配置文件是怎么写的吗?webapps目录我们是从容器映射到宿主机磁盘目录的,所以我会在这个目录下创建一个test工程并写一个index.html文件,以供我们进行测试。

通过浏览器访问:localhost:8080/test

 

docker-compose命令

Up :启动

Down:停止

-d:后台运行

7. 一个docker-compose.yml整合tomcat与mysql.5.7

首先还是得创建docker-compost.yml

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

31

32

33

34

35

version: '3'

services:

  tomcat:

    restart: always

    image: tomcat

    container_name: tomcat

    ports:

      - 8080:8080

    volumes:

      - d://docker/tomcat/webapps:/usr/local/tomcat/webapps

      - d://docker/tomcat/logs:/usr/local/tomcat/logs

    environment:

      TZ: Asia/Shanghai

   

  mysql:

    restart: always

    image: mysql:5.7.24

    container_name: mysql

    ports:

      - 3306:3306

    environment:

      TZ: Asia/Shanghai

      MYSQL_ROOT_PASSWORD: 123456

    command:

      --character-set-server=utf8mb4

      --collation-server=utf8mb4_general_ci

      --explicit_defaults_for_timestamp=true

      --lower_case_table_names=1

      --max_allowed_packet=128M

      --sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION,NO_ZERO_DATE,NO_ZERO_IN_DATE,ERROR_FOR_DIVISION_BY_ZERO"

    volumes:

      - mysql-data:/var/lib/mysql

 

volumes:

  mysql-data:

1

 

 

快去测试你的tomcat和连接MySQL(root/123456)

经过以上得一系列操作,顺利构建tomcat和mysql,如果你按照文档操作,遇到问题欢迎留言交流,加油共勉。

  • 23
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值