docker基本内容

1.什么是Docker

docker是一个用来装应用的容器,就像杯子可以装水,书包可以放书,可以把hello word放在docker中,可以把tomcat jdk或者任何想得到的程序放在docker中
docker官方释义:容器是一个标准的软件单元,它打包代码及其所有依赖项,以便应用程序从一个计算环境快速可靠地运行到另一个计算环境。Docker 容器镜像是一个轻量级的、独立的、可执行的软件包,包括运行应用程序所需的一切:代码、运行时、系统工具、系统库和设置。

2.比较容器和虚拟机

容器和虚拟机具有相似的资源隔离和分配优势,但功能不同,因为容器虚拟化的是操作系统而不是硬件。容器更便携、更高效。

在这里插入图片描述

二、打包基础

1.镜像

镜像:Docker 镜像(Image)就是一个模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。docker镜像文件类似于Java的类模板,而docker容器实例类似于java中new出来的实例对象。

2.容器

容器:Docker 利用容器(Container)独立运行的一个或一组应用,应用程序或服务运行在容器里面,容器就类似于一个虚拟化的运行环境,容器是用镜像创建的运行实例。容器为镜像提供了一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

3.仓库

仓库:仓库(Repository)是集中存放镜像文件的场所,类似于Maven,github,Docker公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。

4.dockerfile

FROM centos:7
EXPOSE 8080
ADD apache-tomcat-8.5.81.tar.gz /usr/local/tomcat
ADD jre-8u202-linux-x64.tar.gz /usr/local/java
COPY mysql/ /usr/local/mysql
RUN rpm -ivh /usr/local/mysql/mysql-community-common-8.0.30-1.el7.x86_64.rpm --force --nodeps && \
rpm -ivh /usr/local/mysql/mysql-community-libs-8.0.30-1.el7.x86_64.rpm --force --nodeps && \
rpm -ivh /usr/local/mysql/mysql-community-client-8.0.30-1.el7.x86_64.rpm --force --nodeps && \
localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 && \
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone && \
rm -rf /usr/local/mysql
ENV LC_ALL zh_CN.UTF-8
ENV JAVA_HOME /usr/local/java/jre1.8.0_202
ENV PATH ${PATH}:${JAVA_HOME}/bin
CMD ["/usr/local/tomcat/apache-tomcat-8.5.81/bin/catalina.sh", "run"]

5.常用命令

docker run --privileged -it -d --name dzgw_1 -p 8098:8080 -e spring.profiles.localService="http://10.11.12.51:8098/sino-web" 
docker_dzgw:1.8
           run : 创建并启动容器,等价于docker create + docker start
  --privileged : 容器获取宿主机root权限
            -i : 即使没有连接,也要保持标准输入保持打开状态,一般与 -t 连用
            -t : 分配一个伪tty,一般与 -i 连用
            -d : 在后台运行容器,并且打印容器id
        --name : 设置容器名称
            -p : 端口映射,[宿主机端口]:[容器端口]
            -v : 将宿主机目录与容器进行挂载
            -e : 设置环境变量
 docker export : 容器导出为镜像 docker export [打包名] [容器id]
   docker save : 镜像打包 docker save -o docker_dzgw.tar docker_dzgw:v1
   docker load : 镜像导入 docker load -i /root/docker_dzgw.tar
     docker ps : 查看正在运行的容器
  docker ps -a : 查看历史运行的容器
  docker start : 容器启动 docker start [容器id]
   docker stop : 容器停止 docker stop [容器id]
docker restart : 容器重启 docker restart [容器id]
     docker rm : 容器删除 docker rm [容器id] 注:删除容器前需停止容器
    docker rmi : 镜像删除 docker rmi [镜像id] 注:删除镜像前必须删除容器
   docker logs : 输出容器运行日志 docker logs -f -t --tail=100 [容器id]
            -f : 实时日志
            -t : 显示时间
        --tail : 显示行数
   docker exec : 开启容器交互终端 docker exec -it c829fd553915 /bin/bash
     docker cp : 宿主机与容器之间文件复制 docker cp [容器id]:[容器内路径] [宿主机路径]
docker inpsect : 详细信息
  docker build : 通过dockerfile创建镜像 docker build -t docker_dzgw:1.2 .

三、idea配置本地打包

1.插件安装docker

在这里插入图片描述

2.配置docker

在这里插入图片描述

vim /usr/lib/systemd/system/docker.service
tcp需要添加连接权限,ExecStart结尾处添加 -H tcp://0.0.0.0:2375
示例: ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375

3.启动成功

在这里插入图片描述

四、可视化工具Portainer

1.安装Portainer

docker pull portainer/portainer
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer-test portainer/portainer

2.访问Portainer(http://ip:9000)

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值