1.4复习

docker基础

一、docker:开源的容器引擎,轻量级的虚拟机,可以看做一个进程,启动后是容器,沙箱环境

二、虚拟机VMware:隔离整个运行环境,docker隔离不同的应用程序

三、docker占用系统资源小

四、docker架构与核心组件

  • 1.客户端:linux终端,用来操作docker
  • 2.docker服务器:管理docker容器和docker镜像
  • 3.docker镜像:可以从镜像仓库docker hub下载
  • 4.docker容器:通过docker命令,将磁盘上的docker镜像启动,启动后就是容器,容器中运行的是一个操作系统

五、nginx镜像:有一个操作系统,上边安装了nginx

六、文件拥有者 所属组 其他用户 读 写 执行 rwx

七、查看docker版本时,遇到的权限问题:var/run/docker.sock 默认权限660,其他用户没有读写权限,解决方案:

  • 1.在指令前加sudo: sudo docker version
  • 2.将当前用户添加到docker组中: sudo gpasswd -a itcast docker
  • 3.将文件权限改成666,让其他用户有读写权限: sudo chmod 666 docker.sock

八、docker服务相关的操作命令:

  • 1.启动 : sudo systemctl start dokcer
  • 2.关闭 : sudo systemctl stop dokcer
  • 3.重启 : sudo systemctl restart dokcer
  • 4.查看状态 : sudo systemctl status dokcer

docker镜像管理

九、搜索镜:docker search ubuntu

十、获取镜像:docker pull ubuntu

  • 1.文件下载到 var/lib/docker中,多个文件的形式,存放在这里,删除删这个文件夹下的文件,普通用户没有权限查看,需要切换到root用户进行查看, su - root,环境变量一起切换
  • 2.sudo passwd root 重置root用户密码,有sudo权限的普通用户才可以修改root用户的密码,要想让用户有sudo权限,需要进行配置

十一、查看镜像:

  • 1.docker images
  • 2.docker image ls

十二、镜像别名:docker tag nginx:latest xxx:v1.0

十三、删除镜像:

  • 1.docker rmi nginx:latest
  • 2.docker rmi 94e814e2efa8
  • 3.如果镜像有别名,镜像别名不同,ID相同,此时只能通过镜像名删除,当只剩下一个名字时,镜像才彻底删除

十四、镜像导出:docker save -o ./mynginx.img nginx:latest

十五、镜像导入:

  • 1.docker load -i mynginx.img
  • 2.docker load < mynginx.img

十六、查看镜像详细信息:docker inspect ubuntu:latest

docker容器管理

十七、查看容器

  • 1.docker ps 查看在running状态的容器
  • 2.docker ps -a 查看在所有状态的容器
  • 3.docker ps -aq 查看在所有状态的容器,只显示容器ID

十八、容器创建

  • 1.docker create -it --rm --name myubuntu ubuntu:latest bash
  • 2.docker create -i -t --rm --name myubuntu1 ubuntu:latest bash

十九、启动已经创建的容器

  • 1.docker start -ai myubuntu 启动容器,关联标准输出/错误,标准输入,会自动进入容器内部 ctrl+d退出容器
  • 2.docker start myubuntu 启动容器,没有关联输入输出,不会进入容器内部

二十、创建新容器并启动

  • 1.docker run -itd ubuntu:latest bash //以守护进程的形式运行
  • 2.docker run -itd --name xxl1 ubuntu:latest bash //以守护进程的形式运行
  • 3.docker run -it --name xxl2 ubuntu:latest bash //会直接进入容器内部
  • 4.docker run -it --rm --name xxl3 ubuntu:latest bash //容器终止运行的时候, 自动被删除

容器的暂停:docker pause 容器名字或者容器ID
容器的取消暂停:docker unpause 容器名字或者容器ID
容器的重启:

  • 1.docker restart -t 30 容器名字或者容器ID
  • 2.docker restart 容器名字或者容器ID

容器的关闭:docker stop -t 30 容器名字或者容器ID
容器的终止:docker kill 容器名字或者容器ID
区别:一个有延时,一个没有延时

删除未运行非 running(up) 的容器 : docker rm 容器名/容器ID
删除运行的容器:docker rm -f 容器名/容器ID
批量删除容器

1.docker rm $(docker ps -aq) -f
2.docker rm `docker ps -aq` -f

进入容器

#1.创建并进入: (非守护进程的形式创建并运行,会直接进入容器内部) - 使用频率低 
docker run -it --rm --name myxx ubuntu bash

#2.创建并启动容器,以守护进程的形式
docker run -itd --rm --name myxx ubuntu bash
#手动进入容器中
docker exec -it 27e729b90b49 bash

退出容器

# 第一种方式
在终端输入: exit
# 第二种方式: ctrl+D

1.查看容器的日志信息:docker logs 容器名/容器ID
2.查看容器的详细信息:docker inspect 容器名/容器ID
3.查看容器的端口信息:docker port 容器名/容器ID
4.容器重命名:docker rename 27e729b90b49 mynewub

基于容器的镜像导入导出
1.镜像的导出:

  • docker export -o myub.img 7d94e1faf186
  • docker export -o ./myub01.img 7d94e1faf186
  • docker export 7d94e1faf186 > myub02.img

2.镜像的导入: cat myub.img | docker import - myub:v1.0

与直接对镜像导入导出对比:

1.save 和 export

  • 使用save导出镜像, 不能对镜像进行修改
  • export通过容器导出, 原始镜像可以通过启动容器进行修改
  • 通过export导出镜像, 会丢失镜像的历史记录
  • 如果没有通过容器对进行做任何修改, export导出的镜像小

2.load 和 import

  • 都是将导出的镜像导入到本地镜像仓库
  • 如果使用load进行导入: 镜像名无法修改
  • import导入镜像: 镜像名是可以修改的
1543762727999.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容