一些docker笔记

一些docker笔记

docker是一个跨平台,可迁移的应用虚拟化,容器化服务平台

Docker口号1:Build,Ship and Run (构建,发送和运行)
Docker口号2: Build once,Run anywhere (构建一次,到处能用)


docker一些概念

docker仓库

官方有dockeHub仓库,
也可以使用阿里、网易、华为的docker公共仓库,
也可以自己搭建一个Habor仓库(私有docke仓库,这个东西类似于你们公司的maven私服)

docker镜像

包含docker官方提供的,和第三方提供的app镜像,以及你自己build构建的镜像;

docker镜像拉取后,会占用宿主机磁盘空间,所以不用的镜像要及时清理掉.

docker容器

根据已拉取的/已存在的docker镜像创建的app容器实例;
容器的运行,相当于vmware虚拟机的运行;
容器有自己的ip,在宿主机可以访问到;
容器内的app的port端口,可以通过配置映射到宿主机port;

docker容器第一次启动后,即开始占用宿主机磁盘空间,停止容器后,依然会占用宿主机磁盘空间,
所以确定永久不用的容器要及时清理掉.

docker命令

docker默认没有提供可视化控制界面,而是提供了很多docker命令来操作docker;
(linux平台也可以使用第三方开发的docker可视化管理界面,如Potainer,
win10+平台可以直接安装桌面版s本的docker-desktop)

一些docker笔记_第1张图片


一些docker命令

docker 镜像相关操作命令

查看所有镜像

docker images

请添加图片描述


构建一个镜像(不同语言/不同项目 构建镜像的方式类似,这里以xxx.jar制作docker镜像为例)

核心命令(最后的.不能忘记)
docker build -t 镜像名:版本号 .

一些docker笔记_第2张图片

1.新建一个目录,如 /usr/local/docker/app
2.在这个目录里放入提前准备的xxx.jar和Dockerfile文件
3.执行命令docker build -t app:1.0.1 .

一些docker笔记_第3张图片

Dockerfile文件的编写
常用内容主要有:
FROM openjdk:8-jre         (基础镜像配置)
MAINTAINER thinkpet         (镜像制作人)
ADD licc.jar  app.jar      (镜像内部动作,这里意思是添加一个licc.jar 并命名为app.jar)
EXPOSE  8913              (配置镜像需要暴露的port端口)
ENTRYPOINT ["java","-jar","app.jar"]         (镜像内部应用的启动命令)

这里讲的Dockerfile文件的编写较为基础,更复杂的写法请自行百度

一些docker笔记_第4张图片

一些docker笔记_第5张图片

最后构建完成后,可以在docker镜像列表里查看到刚刚构建的镜像信息(tag,id ,size)


另存现有的镜像为tar文件

docker save 镜像id  >  /xxx/xxx.tar

按id删除现有的某个镜像

docker image rm de940896316d

一些docker笔记_第6张图片

安装(加载) 离线下载的镜像

docker load < /xxx/xxxx.tar

请添加图片描述

docker镜像打标记

docker tag  镜像id  名称:版本号

一些docker笔记_第7张图片


docker 容器相关操作命令

根据镜像创建并启动一个容器实例

格式 docker run  可选运行参数   镜像名:镜像版本号
(-d 后台运行)
(--restart docker重启后自启动容器)
(--name 定义容器实例名)
(-p 配置端口映射 宿主机port:容器内应用的port)

docker run -d --restart=always --name demo -p 8913:8913 app:1.0.3

请添加图片描述

创建1个新容器但不启动它

docker create 可选参数 镜像名:镜像版本号

docker create  --restart=always --name demo3 -p 8910:8913 app:1.0.3

一些docker笔记_第8张图片

查看目前所有的docker容器

docker ps -a

请添加图片描述

查看正在运行中的docker容器

docker ps

请添加图片描述

实时查看某个docker容器的运行日志

docker logs -f 容器id

一些docker笔记_第9张图片

停止某个正在运行的容器

docker stop 容器id

请添加图片描述

恢复某个停止的容器

docker start 容器id

请添加图片描述

删除不需要的容器(删除前必须先停止这个容器)

docker rm 容器id

一些docker笔记_第10张图片

进入到某个容器内部的bash命令行

docker exec -it 容器id /bin/bash

一些docker笔记_第11张图片


docker服务器监控相关命令

显示docker服务器信息,镜像数,容器数

docker info

一些docker笔记_第12张图片

查看docker服务器的版本号

docker -v

查看docker服务器的详细版本信息

docker version

一些docker笔记_第13张图片

你可能感兴趣的:(开源技术,Docker容器技术,运维技术,docker,笔记,镜像,容器)