Docker 学习笔记

Docker 学习笔记

1. 启动类命令

  • 启动docker:
    systemctl start docker

  • 停止docker
    systemctl stop docker

  • 重启docker
    systemctl restart docker

  • 查看docker状态
    systemctl status docker

  • 开机启动docker
    systemctl enable docker

  • 查看docker概要信息
    docker info

  • 查看docker总体帮助文档
    docker --help

  • 查看命令帮助文档
    docker 命令 --help

2. 镜像命令

  • docker images: 俩出本地的镜像
    在这里插入图片描述

    • docker images - a: 只列出本地所有镜像,含历史镜像层
    • docker images -q:只显示镜像ID
  • docker search 名字: 查找docker hub是否有某个镜像
    在这里插入图片描述

    • docker search --limit 5 redis: 只查询排名前5个 redis镜像
      在这里插入图片描述
  • docker pull 名字: 下载镜像,不写版本号就是最新版本latest

    • docker pull 名字:版本号: 下载指定版本镜像
    • docker pull 名字:latest: 下载最新版本镜像
    • docker pull redis:6.0.8: 下载6.0.8版本redis镜像
  • docker system df: 查看镜像、容器、数据卷所占的空间
    在这里插入图片描述

  • docker rmi 镜像名字\镜像ID: 删除一个镜像

    • docker rmi -f 名字\ID: 强制删除一个镜像
    • docker rmi -f 名字1:tag 名字2:tag ...: 强制删除多个镜像
    • docker rmi -f $(docker images -qa): 强制删除全部镜像,学习中可以这么玩,如果在公司搞不好要坐牢。
  • 虚悬镜像:仓库名称和版本都为none,建议删除,没什么用。
    在这里插入图片描述

3. 容器命令

3.1 创建、运行容器

  • docker run [OPTIONS] IMAGE [COMMAND] [ARG...]: 新建并启动一个容器

在这里插入图片描述
在这里插入图片描述
- docker run -it ubuntu /bin/bash: 运行ubuntu镜像,生成一个容器,并保留终端交互,使用/bin/bash来交互
- docker run -it --name=u01 ubuntu bash: 运行ubuntu镜像,生成一个名为u01的镜像,使用bash来交互
- docker -d 镜像名: 守护模式,后台启动 常用于mysql redis等服务

3.2 查看容器

  • docker ps: 查看所有正在运行的容器
    在这里插入图片描述
    • docker ps -a: 查看所有 正在运行 以及历史运行过 的容器
    • docker ps -l: 查看最近创建过的容器
    • docker ps -n 5: 查看最近创建过的5个容器
    • docker ps -q: 静默模式,只显示容器编号

3.3 退出容器

  • exit: 在容器终端中exit,退出后容器会停止
  • ctrl + p + q:退出容器但容器不停止

3.4 操作容器

  • docker start 容器名\容器ID: 启动已经停止的容器
  • docker restart 容器名\容器ID: 重启容器
  • docker stop 容器名\容器ID: 停止容器
  • docker kill 容器名\容器ID : 强制停止容器
  • docker rm 容器名\容器ID: 删除已经停止的容器
  • docker rm -f 容器名\容器ID: 强制删除运行中的容器
  • 一次性删除多个容器实例: docker rm -f $(docker ps -a -q)docker ps -a -q | xargs docker rm

3.5 与运行中的容器交互

  • docker logs 容器名\容器ID: 查看容器打印的日志
  • docker top 容器名\容器ID: 查看容器内进程运行情况
  • docker inspect 容器名\容器ID: 查看容器内部细节
  • docker exec -it 容器名\容器ID /bin/bash 与正在运行的容器进行交互,使用/bin/bash终端,会用新的进程打开一个终端,exit后容器不会停止,常用。
  • docker attach 容器ID: 与正在运行的容器进行交互,不会用新的进程打开终端,exit后容器会停止运行,不建议使用。

3.6 容器的备份

  • docker cp 容器ID:容器内路径 目标主机路径:容器文件复制到主机上
  • docker export 容器ID > 文件名.tar: 导出容器的内容作为一个他人归档文件
  • cat 文件名.tar | docker import - 镜像用户/镜像名:版本号:从tart包的内容创建一个新的文件系统,并导入为镜像

3.7 容器打包为镜像

  • docker commit -m="描述信息" -a="作者" 容器ID 目标镜像名:[标签名]:将容器副本提交为一个镜像,通常用于对某容器进行增加配置后,再提交为一个新的镜像

3.8 容器数据卷

  • docker run -d -p 宿主机端口:容器内端口 -v 宿主机地址:容器内地址[:rw] --privileged=true 容器名
    • -d 为静默模式
    • -p为端口映射
    • -v为数据卷挂载映射
    • –privileged=true令容器获得访问挂载磁盘卷的权限
    • :rw 代表容器内权限,可读可写,默认则是该权限;ro为只读 read only

例如 docker run -it -p 8080:8888 -v D:/Downloads/:/tmp/Downloads --privileged=true ubuntu --name u1

容器卷继承

  • docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu: 运行ubuntu镜像产生实例,其卷挂载继承u1容器实例
    • –volumes-from u1 继承u1实例的挂载 规则,u1停止后,该规则依然继承

4.docker下mysql配置与数据卷挂载

4.1 配置与数据卷挂载

docker run -d -p 3306:3306 --privileged=true -v D:/mysql/log:/var/log/mysql -v D:/mysql/data:/var/lib/mysql -v D:/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7

  • -d 后台运行
  • -p 3306:3306 端口映射 宿主机端口:镜像端口
  • –privileged=true 挂载root权限,允许 访问挂载文件
  • -v D:/mysql/log:/var/log/mysql 容器/var/log/mysql目录与宿主机D:/mysql/log建立共享映射
  • -v D:/mysql/data:/var/lib/mysql 容器/var/lib/mysql 目录与宿主机D:/mysql/data建立共享映射
  • -v D:/mysql/conf:/etc/mysql/conf.d 容器/etc/mysql/conf.d 目录与宿主机D:/mysql/conf建立共享映射
  • -e MYSQL_ROOT_PASSWORD=123456 设置mysql的root密码为123456
  • –name mysql 将容器名称设置为mysql
  • mysql:5.7 镜像名称

4.2 解决中文乱码

D:/mysql/conf下新建my.cnf文件,并内容为:
在这里插入图片描述
重启服务
docker restart mysql

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值