前一篇文章已经介绍过Docker的概要和安装步骤,今天继续延续Docker的相关内容,简述镜像和容器,还有Docker Compose的主要应用。
关于镜像
Docker 运行容器前需要本地存在对应的镜像,如果镜像不存在本地, Docker 会从镜像仓库下载(默认是Docker Hub公共注册服务器中的仓库,这里附上地址:Docker Hub)。
列出本地镜像:
$ sudo docker images
获取镜像,使用docker pull 命令来从仓库获取所需要的镜像,例如搜索 “ubuntu” 镜像:
$ sudo docker pull ubuntu
关于容器
容器是独立运行的一个或一组应用,以及它们的运行态环境。 如果把镜像看成面向对象中的类的话,那么容器就是类的实例化对象。
启动容器,通过docker run命令来启动容器。
查看运行帮助:
$ sudo docker run --help
接下来尝试输出一个 “Hello World”(仪式感),之后终止容器:
$ sudo docker run ubuntu /bin/echo "hello world"
进入到ubuntu容器中:
$ sudo docker run -t -i ubuntu /bin/bash
退出容器,可以使用exit命令:
$ exit
其中:
-t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上。
-i 则让容器的标准输入保持打开。
守护状态运行
$ sudo docker run -d ubuntu /bin/echo "hello docker"
其中:-d 表示容器以守护态(Daemonized)形式运行。
查看当前运行的所有容器,通过 docker ps 命令:
$ sudo docker ps -a
获取容器的输出信息,通过docker logs命令(把容器的 NAMES , 容器的ID用上):
停止容器,可以使用docker stop来终止一个运行中的容器:
重动容器,可以使用docker start 重动容器:
删除容器,通过 docker rm 删除指定的容器:
Docker Compose安装
Docker Compose 是 Docker 官方编排(Orchestration)项目之一, 负责快速在集群中部署分布式应用。
Dockerfile 可以让用户管理一个单独的应用容器;而 Compose 则允许用户在一个模板(YAML 格式)中定义一组相关联的应用容器(被称为一个 project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。
安装Docker Compose:
$ sudo apt install docker-compose
安装完成可以通过查找版本来验证是否安装成功:
$ docker-compose version
安装成功后,可以查看docker-compose命令的用法:
$ docker-compose
利用Docker Compose创建Wordpress应用
Wordpress是最常见的博客系统,一般部署需要LAMP/WAMP环境,这介绍通过Docker compose对它进行编排和部署。(Docker Hub地址)
建立一个应用的目录:
$ mkdir wordpress
$ cd wordpress
创建 docker-compose.yml文件(用来启动的脚本配置文件):
写入文件:
编写yml脚本:
这里有点波折,本来我也是和官方一样用3.X以上的版本,但是我的Ubuntu系统提示我要用2.X版本,然后才能成功安装,大家可以根据实际情况来调整这个版本。
这里贴一个英文官方的脚本文档参考:
其中:
images 镜像名
restart 指定版本
ports 80为镜像端口, 映射的8081为主机端口
environment 环境配置,例,WORDPRESS_DB_PASSWORD 为wordpress数据库密码
启动应用,docker-compose执行编排脚本,分别制作和抓取web,redis镜像,启动容器:
$ sudo docker-compose up
这里也可以采用-d守护态形式,在后台运行安装:
上面这个图可以看到,已经是up-to-date最新版了,所以就是表示安装完成啦!
最后一步,只需要在浏览器输入你的外网地址加映射的端口号,即可访问WordPress应用:
读更多的好书,拍更美的照片,写更酷的代码,遇见更有趣的人,愿望是实现从IT菜鸟到全栈工程师的蜕变。