基本介绍
Docker主要用于服务安装(mysql\reids\rabbitmq\nacos等)和项目的部署
Docker是用来管理虚拟机的一个容器
镜像可视作一个个微型虚拟机包含了Linux系统
常用命令
docker pull imagename:imageversion 拉取镜像到本地仓库从远程仓库 docker images 查看本地镜像 docker ps -a 查看所有实例 docker start instanceid 开启实例通过实例Id docker stop instanceid 关闭实例通过实例Id docker rm instanceid 删除实例通过实例Id docker rmi imagename 删除镜像通过镜像名 docker exec -it instanceid bash 进入实例(instance)内部通过实例Id docker run -d -p 1000:1000 imagename:imageversion 使用镜像产生实例(端口为物理机器:镜像) 实例即为容器(container)
DockerFile
1.创建一个文件夹(任意名) mkdir /usr/local/dockerfile 2.准备所需文件(将需要的文件复制到此文件夹) cp jdk-8u202-linux-x64.tar.gz /usr/local/dockerfile cp apache-tomcat-9.0.80.tar.gz /usr/local/dockerfile cp docker.war /usr/local/dockerfile 项目的war包 3.创建文件dockerfile vim dockerfile 4.构建并启动 docker build -t containername:versiondockerfile
FROM centos:7 linux系统 MAINTAINER buliyat 作者 ADD jdk-8u202-linux-x64.tar.gz /usr/local 添加并解压 ADD apache-tomcat-9.0.80.tar.gz /usr/local 添加并解压 ADD docker.war /usr/local/apache-tomcat-9.0.80/webapps 添加并解压 ENV JAVA_HOME /usr/local/jdk1.8.0_202 配置环境变量 ENV PATH $JAVA_HOME/bin:$PATH 配置环境变量 EXPOSE 8080 暴露端口 CMD ["/usr/local/apache-tomcat-9.0.80/bin/catalina.sh","run"] 运行 FROM centos:7 MAINTAINER buliyat COPY jdk-8u202-linux-x64.tar.gz /usr/local RUN cd /usr/local && tar -zxvf jdk-8u202-linux-x64.tar.gz COPY apache-tomcat-9.0.80.tar.gz /usr/local RUN cd /usr/local && tar -zxvf apache-tomcat-9.0.80.tar.gz ADD docker.war /usr/local/apache-tomcat-9.0.80/webapps ENV JAVA_HOME /usr/local/jdk1.8.0_202 ENV PATH $JAVA_HOME/bin:$PATH EXPOSE 8080 ENTRYPOINT ["/usr/local/apache-tomcat-9.0.80/bin/catalina.sh","run"] CMD 只会执行最后一次 ENTRYPOINT 会多次执行
Compose
安装DockerCompose
yum install python-pip 安装 yum install docker-compose 安装 docker-compose version 查看版本 docker-compose up 开启 docker-compose down 关闭项目部署
1.创建一个文件夹(任意名) mkdir /usr/local/docker-compose mkdir /usr/local/docker-compose/web mkdir /usr/local/docker-compose/mysql 2.准备所需文件(将需要的文件复制到此文件夹) cp jdk-8u202-linux-x64.tar.gz /usr/local/docker-compose/web cp apache-tomcat-9.0.80.tar.gz /usr/local/docker-compose/web cp docker.war /usr/local/docker-compose/web 项目的war包 vim dockerfile (不确定需不需要) 3.创建文件dockerfile vim dockerfile 4.编写docker-compose.yml 5.启动项目(-d 表示后台运行) docker-compose up -ddocker-compose.yml
version: '1' 版本 services: 服务 web: web服务 build: ./web 构建 ports: 端口 - "8080:8080" container_name: 'web' 容器名 depends_on: - mysql 依赖(先创建mysql) mysql: mysql image: mysql:8.0 镜像 environment: 环境 MYSQL_ROOT_PASSWORD: 123456 密码 volumes: 映射 - /usr/local/docker-compose/mysql:/var/lib/mysql 地址 ports: 端口 - "3306:3306" container_name: 'mysql' 容器名