一、安装docker
1.安装需要的软件包
# yum-util提供yum-config-manager功能#另外两个是devicemapper驱动依赖的
$ yum install -y yum-utils device-mapper-persistent-data lvm2
2.设置yum源
$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3.安装docker
6.1. 安装最新版本
$ yum install -y docker-ce
4.启动docker服务
systemctl start docker.service
5.验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
[root@node1 ~]# docker version
Client:
Version: 18.03.0-ce
API version: 1.37
6、安装工具:docker-compose
yum install docker-compose
二、docker 的一些命令:
1、查看docker 中的所有运行镜像:docker ps
2、进入某个镜像:
docker exec -it 78f533af08d4 bash
3、启用、关闭:
docker run -d -p 8081:80 nginx
docker stop b1194639fc58
4、查看所有镜像:
docker image ls
三、制作自己的镜像,运行一个自己的java web程序
这里已一个java的开源博客系统jpress举例,jpress是一个类似wordpress的博客程序,区别是一个是php源码,一个是java源码
1.下载jpress的war包
2.下载tomcat容器作为基础镜像,并编写Dockefile文件
[root@node1 ~]# docker pull tomcat
在jpress.war所在目录建立Dockefile文件
[root@node1 ~]# cat Dockerfile
# 说明是以tomcat为基础模板
from tomcat
# 容器的版权信息
MAINTAINER jack jack@163.com
# 拷贝war包发布到tomcat的www web程序发布目录
COPY jpress.war /usr/local/tomcat/webapps
3.创建一个叫做jpress:latest的镜像
[root@node1 ~]# docker build -t jpress:latest .
启动容器将容器的8080端口映射到宿主机的8888
[root@node1 ~]# docker run -d -p 8888:8080 jpress
04252a52ecffab83d151a7d37aa24c0acd0b7bc75607b6cc8da2c017ee84ac4b
访问tomcat,可以看到能够正常访问jpress,http://192.168.3.177:8888/jpress/
4、创建Mysql镜像
因为jpress后台依赖mysql数据库,需要安装mysql
# docker pull mysql
运行mysql容器,3306映射到宿主3306,创建密码,数据库为jpress
[root@node1 ~]# docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -e MYSQL_DATABASE=jpress mysql
正常的创建,mysql 镜像
docker run -di --name stefan_mysql -p
33306
:
3306
-e MYSQL_ROOT_PASSWORD=
123456
mysql
进入镜像:
docker exec -it stefan_mysql /bin/bash