Docker 安装
官方网站上有各种环境下的安装指南,比如:CentOS、Ubuntu 和 Debian 系列的安装。
而我们现在主要介绍的是基于 CentOS 7.x 上面的安装。
1、查看是否已经安装过docker
[root@localhost ~]# yum list installed | grep docker
docker.x86_64 2:1.12.6-55.gitc4618fb.el7.centos @extras
docker-client.x86_64 2:1.12.6-55.gitc4618fb.el7.centos @extras
docker-common.x86_64 2:1.12.6-55.gitc4618fb.el7.centos @extras
2、以上表示已经安装过,删除docker
[root@localhost ~]# yum remove –y docker.x86_64
[root@localhost ~]# yum remove –y docker-client.x86_64
[root@localhost ~]# yum remove –y docker-common.x86_64
3、安装docker(-y 表示静默安装,安装过程不再询问)
[root@localhost ~]# yum install -y docker
4、启动docker
[root@localhost ~]# systemctl start docker.service
5、停止docker
[root@localhost ~]# systemctl stop docker
6、查看当前docker状态
[root@localhost ~]# systemctl status docker
Docker 镜像
7、拉取镜像
7.1、从 docker hub 拉取
https://hub.docker.com/
下面的例子将从Docker Hub 仓库下载一个 Tomcat 7 版本的服务器镜像。
[root@localhost ~]# docker pull tomcat:7
这是docker默认的公用仓库,不过缺点是国内下载会比较慢。
7.2、从 ustc 拉取(建议使用)
在宿主机器编辑文件:vi /etc/docker/daemon.json
请在该配置文件中加入(没有该文件的话,请先建一个):
{
"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]
}
最后,需要重启 docker 服务
[root@localhost ~]# systemctl restart docker
之后再使用 pull 命令拉取镜像,这时候是从 ustc 获取镜像,而且速度杠杠的。
8、列出镜像
docker images
[root@localhost ~]# docker images
9、删除镜像
docker rmi 镜像
[root@localhost ~]# docker rmi tomcat:7
注意:当镜像创建的容器存在时,无法删除镜像文件,需要先删除依赖该镜像的所有容器,再删除镜像。
10、导入导出镜像
导出镜像:docker save 镜像 > /root/xx.tar.gz
导入镜像:docker load < /root/xx.tar.gz
Docker 容器
11、启动容器
以交互方式启动容器:docker run -it --name 容器名称 镜像 /bin/bash
[root@localhost ~]# docker run -it --name mytomcat tomcat:7 /bin/bash
[root@28cc2a4f8c90 /]#
退出容器
[root@28cc2a4f8c90 /]# exit
exit
[root@localhost ~]#
以守护进程方式启动容器:docker run -d --name 容器名称 镜像
[root@localhost ~]# docker run -d --name mytomcat tomcat:7
f9b59aed3c7de509d6c9d9cc14c3d7774fc50f250b70661a4354df948588393b
[root@localhost ~]#
12、停止容器
docker stop 容器名称或者容器ID
[root@localhost ~]# docker stop mytomcat
13、重启容器
docker start 容器名称或者容器ID
[root@localhost ~]# docker start mytomcat
14、删除容器
删除指定容器:docker rm 容器名称或者容器ID
删除所有容器:docker rm 'docker ps -a -q'
15、查看容器
docker ps:查看正在运行的容器
[root@localhost ~]# docker ps
docker ps –a:查看历史运行过的容器
[root@localhost ~]# docker ps –a
Docker 应用
16、搭建 Tomcat 服务
docker run -d --name mytomcat -p 8888:8080 镜像
[root@localhost ~]# docker run -d --name mytomcat -p 8888:8080 tomcat:7
020c28055968b21ccb584d8b60b51b38f44678930b3bc2456eafb0fe40efcd78
[root@localhost ~]#
17、部署 Web 应用
1、将 war 包上传到宿主机器
2、通过 docker cp 命令将宿主机器的 war 包上传到容器中的 tomcat 的 webapps 目录下。
以交互界面的方式进入容器中
[root@localhost ~]# docker exec -it mytomcat /bin/bash
root@020c28055968:/usr/local/tomcat# ls
LICENSE RELEASE-NOTES bin include logs temp work
NOTICE RUNNING.txt conf lib native-jni-lib webapps
root@020c28055968:/usr/local/tomcat# exit
exit
[root@localhost ~]# docker cp DockerDemo.war mytomcat:/usr/local/tomcat/webapps
[root@localhost ~]#
3、tomcat 会自动热部署,直接访问 Web 应用的路径即可。