docker的安装:
1. 在Xtrem视图界面输入语句 yum -y install yum-utils device-mapper-persistent-data lvm2
2. 指定镜像源: yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3. 安装docker : 1. yum makacache fast 2. yum -y install docker-ce
4.启动docker: systemctl start docke
5.设置开机自启动: systemctl enable docker
6.测试: docker run hello-world
镜像的操作:
1. 镜像拉取: docker pull 镜像名称[:tag]
2. 查看本地全部镜像: docker images
3. 删除本地镜像: docker rmi 镜像的标识(镜像的id)
4. 强制删除本地镜像: docker image rm -f 镜像的id
5. 本地镜像的导出: docker save -o 导出的路径 镜像id
6. 加载本地镜像: docker load -i 镜像文件名(注意镜像名和版本为null)
7. 修改镜像名称和版本: docker tag 镜像id 新镜像名称:版本
容器操作:
1. 容器运行: docker run -d -p linux宿主机端口:容器端口 --name 容器名称 镜像的标识|镜像名称[:tag]
# -d:代表后台运行容器
# -p 宿主机端口:容器端口:为了映射当前Linux的端口和容器的端口
# --name 容器名称:指定容器的名称
2. 查看全部的容器: docker ps -a
3. 查看容器日志: docker logs -f 容器id
4. 进入容器内容部: docker exec -it 容器id bash
5. 复制内容到容器: docker cp 文件名称 容器id:容器内部路径
6. 重启容器: docker restart 容器id 启动容器: docker start 容器id 停止容器: docker stop 容器id 停止全部容器: docker stop $(docker ps -qa) 删除全部容器: docker rm $(docker ps -qa)
docker的应用:
安装tomcat:
1. docker run -d -p 8080:8080 --name tomcat daocloud.io/library/tomcat:8.5.15-jre8
安装Mysql:
1. docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=P@ssw0rd daocloud.io/library/mysql:5.7.4
部署SSM项目:
修改SSM工程环境,设置为Linux中Docker容器的信息
通过Maven的package重新打成war包
讲Windows下的war包复制到Linux中
通过docker命令将宿主机的war包复制到容器内部 docker cp ssm.war xx:/usr/local/tomcat/webapps/
测试访问SSM工程
数据券
1. 创建数据卷之后,默认会存放在一个目录下 /var/lib/docker/volumes/数据卷名称/_data: docker volume create 数据卷名称
2. 查看数据券详情: docker volume inspect 数据卷名称
3. 查看全部数据卷: docker volume ls
4. 删除数据卷: docker volume rm 数据卷名称
容器映射数据卷:
1. # 通过数据卷名称映射
docker run -v 数据卷名称:容器内部的路径 镜像id
栗子:docker run -d -p 8080:8080 --name ssm_tomcat -v volume_ssm_tomcat:/usr/local/tomcat/webapps b8
关闭并删除之前启动的tomcat容器
创建一个数据卷volume_ssm_tomcat,默认放在/var/lib/docker/volumes目录下
执行docker run -d -p 8080:8080 --name ssm_tomcat -v volume_ssm_tomcat:/usr/local/tomcat/webapps b8
/var/lib/docker/volumes/volume_ssm_tomcat/_data目录下有webapps目录中的内容
把ssm.war文件放到/var/lib/docker/volumes/volume_ssm_tomcat/_data目录下
2. # 通过路径映射数据卷
docker run -v 路径:容器内部的路径 镜像id
栗子:docker run -d -p 8080:8080 --name ssm_tomcat -v /opt/volume_ssm_tomcat:/usr/local/tomcat/webapps b8
关闭并删除之前启动的tomcat容器
执行docker run -d -p 8080:8080 --name ssm_tomcat -v /opt/volume_ssm_tomcat:/usr/local/tomcat/webapps b8
访问tomcat时报错,volume_ssm_tomcat目录下是空的
手动在volume_ssm_tomcat下创建一个ROOT目录,并编辑index.html文件
把ssm.war放到volume_ssm_tomcat下,并在浏览器访问
Dockerfile自定义镜像:
from: 指定当前自定义镜像依赖的环境
copy: 将相对路径下的内容复制到自定义镜像中
workdir: 声明镜像的默认工作目录
run: 执行的命令,可以编写多个
cmd: 需要执行的命令(在workdir下执行的,cmd可以写多个,只以最后一个为准)
# 举个例子,制作SSM容器镜像,而且ssm.war要放在Dockerfile的同级目录下
from daocloud.io/library/tomcat:8.5.15-jre8
copy ssm.war /usr/local/tomcat/webapps
1. 编写完Dockerfile后需要通过命令将其制作为镜像,并且要在Dockerfile的当前目录下,之后即可在镜像中查看到指定的镜像信息,注意最后的 . :docker build -t 镜像名称[:tag] .
Docker-Compose:
1. 下载并安装Docker-Compose:
去github官网搜索docker-compose,下载1.24.1版本的Docker-Compose
下载路径:https://github.com/docker/compose/releases/download/1.24.1/docker-compose-Linux-x86_64
2. 将文件上传到/root目录下,需要将DockerCompose文件的名称修改一下,给予DockerCompose文件一个可执行的权限:
mv docker-compose-Linux-x86_64 docker-compose
chmod 777 docker-compose
3. 将docker-compose文件移动到了/usr/local/bin , 修改了/etc/profile文件,给/usr/local/bin配置到了PATH中
mv docker-compose /usr/local/bin
vi /etc/profile
# 添加内容: export PATH=$JAVA_HOME:/usr/local/bin:$PATH
source /etc/profile
4. 在任意目录下输入docker-compose测试
Docker-Compose管理MySQL和Tomcat容器
1. cd /opt : 到opt目录下
2. 创建 docker-mysql-tomcat目录: mkdir docker-mysql-tomcat
3. cd docker-mysql-tomcat/ :切换到docker-mysql-tomcat目录
4. vi docker-compose.yml : 编辑yml文件如下内容:
version: '3.1'
services:
mysql: # 服务的名称
restart: always # 代表只要docker启动,那么这个容器就跟着一起启动
image: daocloud.io/library/mysql:5.7.4 # 指定镜像路径
container_name: mysql # 指定容器名称
ports:
- 3306:3306 # 指定端口号的映射
environment:
MYSQL_ROOT_PASSWORD: root # 指定MySQL的ROOT用户登录密码
TZ: Asia/Shanghai # 指定时区
volumes:
- /opt/docker_mysql_tomcat/mysql_data:/var/lib/mysql # 映射数据卷
tomcat:
restart: always
image: daocloud.io/library/tomcat:8.5.15-jre8
container_name: tomcat
ports:
- 8080:8080
environment:
TZ: Asia/Shanghai
volumes:
- /opt/docker_mysql_tomcat/tomcat_webapps:/usr/local/tomcat/webapps
- /opt/docker_mysql_tomcat/tomcat_logs:/usr/local/tomcat/logs
5. 基于docker-compose.yml启动管理的容器(也就是在含有该文件的目录下操作): docker-compose up -d
6. 关闭并删除容器: docker-compose down
7. 开启|关闭|重启已经存在的由docker-compose维护的容器:docker-compose start|stop|restart
8. 查看由docker-compose管理的容器: docker-compose ps
9. 查看日志: docker-compose logs -f