Spring Boot小记(10)

docker

作者 Wavy Peng 日期 2018-05-08
Spring Boot小记(10)

Docker简介

Docker是一个开源的应用容器引擎,支持将软件编译成一个镜像;然后镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。

docker

Docker核心概念

docker镜像(Images):Docker镜像是用于创建Docker容器的模板。

docker容器(Container):镜像启动后的实例称为一个容器,容器是独立运行的一个或一组应用。

docker客户端(Client):客户端通过命令行或者其他工具使用Docker API与Docker的守护进程通信。连接Docker主机进行操作。

docker主机(Host):一个物理或者虚拟机的机器用于执行Docker守护进程和容器。即安装了Docker程序的机器(Docker直接安装在操作系统之上)。

docker仓库(Registry):Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库。Docker hub提供了庞大的镜像集合供使用。

docker原理

使用Docker的步骤:

1、安装Docker

2、去Docker仓库找到这个软件对应的镜像

3、使用Docker运行这个镜像,这个镜像就会生成一个Docker容器

4、对容器的启动停止就是对软件的启动停止

安装Docker

centos下安装

1、查看centos版本:Docker要求Centos系统的内核版本高于3.10

uname -r

2、如果版本不够,需要升级软件包及内核

yum update

3、安装docker

yum install docker

4、启动docker

systemctl start docker

5、将docker服务设为开机启动

systemctl enable docker
ubuntu下安装

1、查看内核版本

uname -r

2、更新源,确保APT以https的方式工作,并且安装了CA证书

sudo apt-get update  
sudo apt-get install apt-transport-https ca-certificates

3、导入gpg密钥

sudo apt-key adv \  
--keyserver hkp://ha.pool.sks-keyservers.net:80 \
--recv-keys 58118E89F3A912897C070ADBF76221572C52609D

4、添加docker源,官方只提供LTS版本的源,找到对应版本的源地址,下面为ubuntu-16.04对应的版本

echo "deb https://apt.dockerproject.org/repo ubuntu-xenial main" | sudo tee /etc/apt/sources.list.d/docker.list

5、更新源

sudo apt-get update

6、查看可安装列表

apt-cache policy docker-engine

7、安装 默认安装最近的版本

sudo apt-get install docker-engine

8、启动

sudo service docker start

Docker常用操作

镜像操作

操作 命令 说明
检索 docker search 关键字 (例如:docker search redis) docker hub可以检索镜像的详细信息,如镜像的TAG
拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像

容器操作

软件镜像—运行镜像—产生一个容器(正在运行的软件)

== 以安装tomcat为例 ==

1、搜索镜像
[root@localhost~]# docker search tomcat

2、拉取镜像
[root@localhost~]# docker pull tomcat

3、根据镜像启动容器(这个tomcat未做端口映射,因此访问不到)
[root@localhost~]# docker run --name mytomcat -d tomcat:latest

4、查看运行中的容器
[root@localhost~]# docker ps

5、停止运行中的容器
[root@localhost~]# docker stop 容器id

6、查看所有的容器
[root@localhost~]# docker ps -a

7、启动容器
[root@localhost~]# docker start 容器id

8、删除容器(待删除的容器一定要是未启动的)
[root@localhost~]# docker rm 容器id

9、启动一个做了端口映射的tomcat
[root@localhost~]# docker run -d -p 8888:8080 tomcat
-d:后台运行
-p:将主机的端口映射到容器的一个端口 主机端口:容器内部端口

10、为了演示简单,关闭了linux的防火墙,防火墙状态查看
[root@localhost~]# service firewalld status
关闭防火墙:service firewalld stop

11、查看容器的日志
[root@localhost~]# docker logs container-name/container-id
操作 命令 说明
运行 docker run –name container-name -d image-name –name:自定义容器名 -d:后台运行 image-name:指定镜像模板
列表 docker ps(查看运行中的容器) 加上-a 可以查看所有容器
停止 docker stop container-name/container-id 停止当前运行的容器
启动 docker start container-name/container-id 启动容器
删除 docker rm container-id 删除指定容器
端口映射 -p 6379:6379 -p: 主机端口映射到容器内部的端口
容器日志 docker logs container-name/container-id

更多命令