首页 > 其他分享 >Docker 基础

Docker 基础

时间:2023-03-27 14:36:42浏览次数:44  
标签:容器 -- 基础 ## docker 镜像 Docker id

1 Docker 的常用命令

# 帮助命令
docker version     # 显示docker的版本信息
docker info        # 显示docker的系统信息,包括容器
docker 命令 --help  # 万能命令

# 镜像命令
docker ps -a                # 列出所有镜像
          --all             # 同上
          -q                # 只显示镜像的id
          --quiet           # 同上
docker ps -aq               # 只显示所有镜像的id
docker search 镜像名或内容   # 搜索镜像
docker pull 镜像名:tag      # 下载镜像
docker rmi 镜像id                   # 删除镜像
docker rmi -f 镜像id, 镜像id,        # 删除指定镜像,-f是force强制删除,可以是多个 
docker rmi -f $(docker images -aq)  # 删除所有镜像

# 容器命令 PS:有了镜像才可以创建容器
## 新建容器并启动
docker run [可选参数] 镜像名:tag 
[可选参数]:           
   --name 容器名字         # 创建并运行 指定容器名字 的容器,不指定--name,则容器名字随机
   -d                     # 后台方式运行 
   -i, -t, -it            # 进入容器查看内容
   -p 主机端口:容器端口    # 指定容器端口的映射
   -P                     # 随机指定端口

## 列出容器
docker ps -a    # 列出当前正在运行的容器 + 历史运行过的容器
          -n=?  # 显示最近创建的容器
          -q    # 显示容器的编号
## 退出容器
exit          # 从容器中退回主机
Ctrl + P + Q  # 容器不停止退出

## 删除容器
docker rm 容器id                # 删除指定容器
docker rm -f $(docker ps -aq)   # 删除所有容器 -f强制删除,运行的也要被删除

## 启动和停止容器的操作
docker start 容器id     # 启动
docker restart 容器id   # 重启
docker stop 容器id      # 停止
docker kill 容器id      # 强制停止

## 常用的其他命令
docker run -d 镜像名:tag  # 后台启动容器
                          # 常见的坑: docker 容器使用后台远行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
                          # nginx 容器启动后,发现自己没有提供服务,就会立廖停止,没有程序了
docker log -ft 容器id     # 显示日志
           --tail number  # 显示一定数据的日志
docker top 容器id         # 查看进程信息
docker inspect 容器id     # 查看容器内部信息

## 进入当前正在运行的容器
docker exec -it 容器id /bin/bash  # 进入容器后,开启一个新终端操作
docker attach 容器id /bin/bash    # 进入容器正在执行的终端

## 容器与主机的文件相互拷贝
docker cp 容器id:容器内路径 目的的主机路径 # 容器文件拷贝到主机
docker cp 目的的主机路径 容器id:容器内路径 # 主机文件拷贝容器

## 容器环境修改
docker run -d -p 8080:80 -e 环境配置内容 --name 容器名 镜像名:tag

## 交容器成为镜像
docker commit # 提交容器成为一个新的副本
docker commit -m="提交的描述信息" -a="作者" 容器id 新的镜像名:[TAG]

# 容器数据卷
## 使用数据卷
docker run -it -v 主机目录:容器目录 --name 容器名 镜像id  # 没有指定主机目录的情况下,会在主机下的 docker/volumes 下成生一个文件夹
               -v 容器内路径   # 匿名挂载
               -v 卷名:容器内路径  # 具名挂载
               -v 主机目录:容器目录 # 指定路径挂载
               -v xxxxxxxxxxxxx:or   # or readonly # 容器只读该路径,主机可读写
               -v xxxxxxxxxxxxx:rw   # 默认rw readwrite  # 容器读写该路径

# --volumns-from: 使新建的容器02与已经存在的容器01有一样的挂载卷,他们都指向了宿主机中相同的文件夹
docker run -it --name 容器02 --volumns-from 容器01 镜像id

2 Dockerfile

Dockerfile 就是用来构建 docker 镜像的构建文件!命令脚本
构建镜像过程

  1. 编写一个 dockerfile 文件
  2. docker build 构建成为一个镜像
  3. docker run 运行镜像
  4. docker push 发布镜像(DockerHub、 阿里去镜像仓库)

2.1 Dockerfile 文件内容

FROM         # 基础镜像,一切从这里开始构建
MAINTAINER   # 镜像是谁写的,姓名+邮箱
RUN          # 镜像构建的时候需要运行的命令
ADD          # 步骤: 如:加tomcat镜像,tomcat压缩包,添加的内容
WORKDIR      # 镜像的工作目录
VOLUMN       # 挂载的目录
EXPOST       # 暴露端口 如:80、8080
CMD          # 指定这个容器启动的时候要运行的命令,只有最后一个会生效,可被替代
ENTRYPOINT   # 指定这个容器启动的时候要运行的命令,可以追加命令
ONBUILD      # 当构建一个被继承 Dockerfile 这个时候就会运行 ONBUILD
COPY         # 类似ADD,将我们的文件拷贝到镜像中
ENV          # 构建的时候设置环境变量

2.2 构建镜像

# 我们可以列出本地镜像的变更历史,查看别人是怎么做的
docker history 镜像id

# dockerfile 构建镜像,注意:最后一定要有 .
docker build -f dockerfile文件 -t 镜像名 . 

2.3 发布镜像

# 1、地址 https://hub.docker.com/ 注册自己的账号
# 2、确定账号可以登录
docker login -u 用户名 -p 密码         # 登录
docker push lqqgis/geoserver:1.0      # 上传镜像
docker tag 源镜像[:tag] 新的镜像[:tag] # 修改镜像tag

2.4 镜像 打包导出 与 离线导入

docker save 打包输出的路径 镜像id  # 将镜像打包,发送给别人
docker load -i 待加载的镜像的包    # 导入镜像

标签:容器,--,基础,##,docker,镜像,Docker,id
From: https://www.cnblogs.com/lqqgis/p/17261343.html

相关文章

  • Linux基础第二章文件压缩归档及文本编辑和vi编辑器
    一、文件压缩及归档1、文件压缩gzip和bzip命令用于文件压缩,但是缺陷是压缩完成后源文件消失所以一般不用。命令格式是:gzip或者bzip +0-9的压缩等级(数字越大压缩级别......
  • MySql随笔记基础
    XAMPP使用shell命令 每个数据库对应一个子文件夹 mysql进入mySQL的命令-urootuserroot登录用户-uroot-ppassword登录密码-p123showdatabases显示数据......
  • wsl docker 更换位置
    wsl--shutdownwsl-l-vwsl--exportdocker-desktopG:\WSL\bak\docker-desktop.tarwsl--exportdocker-desktop-dataG:\WSL\bak\docker-desktop-data.tarw......
  • Java程序基础
    一。面向对象的概念1.面向对象是一种思想,是Java基础知识中最重要的部分,没有之一。 面向对象是相对面向过程而言的,面向对象和面向过程都是一种思想。(1)分析不同面向......
  • CentOS/Ubuntu 安装 Docker和Portainer
    在两个环境下安装了Docker及Portainer,记录下以供日后查阅CentOS7部分1.清理旧版本$sudoyumremovedocker\docker-client\docker-c......
  • [pymysql]查询基础
    importpymysql#获取连接conn=pymysql.connect(host='10.105.212.1',port=3306,user='root',password='DemoDemo',database='db',cha......
  • Docker 镜像加速
    sudogedit/etc/docker/daemon.json#刚安装完docker可能需要先创建docker目录{"registry-mirrors":["https://f3lu6ju1.mirror.aliyuncs.com"]......
  • SPSS 基础知识
    SPSS基础知识一、SPSS图形绘制1.1散点图的绘制散点图作用:1、判断数据的属性2、提供回归拟合方法的选择,如一次回归,二次曲线或者指数回归。......
  • 【UNIX 环境编程】GCC 编译器 | Makefile 基础入门 | GDB 调试教学
    ......
  • docker安装Portainer和CIG详解
    Portainer安装步骤Portainer是一个可视化的Docker容器管理工具,可以在Docker环境中快速管理容器、镜像、网络等资源。以下是在Docker上安装Portainer的步骤:首先,您需要在......