docker容器整理笔记
2022-10-09
1、docker学习
1)性能更高,没有模拟层那个环节
2)创建速度快只需要几秒钟,虚拟机创建至少好几分钟
3)只能基于系统之上创建相同的容器系统
2、很多软件安装在同一个系统里面,如果同样的多个软件可以放到一个doker对遗值就很方便
2022-10-10
docker学习
介绍docker-集装箱的使用和优点
介绍一
1)需要有镜像文件(centos)
2)通过docker run centos 创建容器
3)在容器里面可以安装应用软件例如jdk
4)在容器里面也可以生成镜像
5)我的理解可以通过容器基于基本的镜像文件(centos)安装应用软件之后再生产公共的镜像,以便于下次直接使用。
介绍二
1)docker会先在本地仓库查找你要的镜像文件,如果没有会到中央仓库找然后放到本地进行使用
2)便捷性(当本地的容器安装了镜像文件及安装了对应的应用程序可以打包成镜像文件然后docker push 到远程仓库用于需要的系统进行docker pull 使用这样就不需要重复安装相同的应用软件而提高效率)
3)版本复用性(当软件版本不一致的时候,建立多个版本进行命名,当需要那个版本就直接拉取即可)
4)安全性(之前centos里面直接安装的是软件,现在外面还有一层docker容器,安全性提高了)
2022-10-11
docker学习
1、安装docker 安装步骤使用yum安装 yum install -y docker-ce
2、启动 Systemct1 start docker
3、开机启动 systemct1 enable docker
安装镜像 加速器
1、阿里云 控制台搜索 容器镜像服务 找到代码 执行
2、docker ps 查看正在运行的容器
3、docker run centos echo "hello world"
4、查看容器 docker ps [-a][-l] -l最近一条
5、docker run -I -t lentos /bin/bash (-I 输入 -t 建立为终端)
守护式容器
1、退出但不关闭容器:ctrl+P ctrl+Q
2、进入到容器:docker attach 容器名
3、启动守护式容器 docker run -d 镜像名字
4、查看容器日志:docker logs [-f][-t][--tail] 容器名
5、查看容器里面的进程信息:docker top 容器名
6、正在运行的容器中添加进程:docker exec [-d][-I][-t] 容器名(重新开了一个终端连到终端)docker exec -it 容器名 /bin/bash
7、docker stop 发送信号关机
8、docker kill 拔电源关机
9、docker start 容器名
2022-10-12
docker 安装nginx
1、docker run -p(参数)
2、访问容器里面的nginx需要指定端口映射(虚拟机里面的端口映射到容器端口)
实例:docker run -p 8080:80 -it lentos /bin/bash ctrl+p ctrl+q 守护式容器模式退出 服务可以一直后台运行
3、docker ps 查看进程
4、当关闭容器之后重新打开容器需要重新开启nginx服务方可访问docker exec -it 容器名 /bin/bash(运行正在开启的容器 exec)
运行nginx /usr/sbin/nginx 这样就可以重新访问了
docker 镜像
1、查看镜像 docker images
2、docker inspect 容器名 查看详细信息
3、docker images -q 只查看id
4、docker rmi $(docker ps -aq) 删除所有
5、docker rmi $(docker images -q centos)删除对应仓库所有的镜像
6、删除单个容器 docker rmi 容器名(3dbacc)
Docker 获取和推送镜像
1、镜像网站hub.docker.com
2、docker search centos 命令搜索
3、docker pull ubuntu 默认拉最新的 docker pull ubuntu:14.04 指定版本
Docker 构建镜像 to push 到中央仓库 -》 客户端拉取push的镜像文件 创建容器调用镜像生成本地服务
1、方式一 docker commit 方式二 docker build 通过dockerFile构建
2、查看容器是否存在 docker ps -a
3、docker commit -a 'hewed' -m 'shush' localName remoteName 提交镜像
4、docker run -d(以守护式进程启动) --name xiaoming -p 80 remoteName /usr/sbin/nginx -g "daemon off;" 后面这个参数 如果一直运行的服务就不会停
5、推送到远程中央仓库-在阿里云创建镜像仓库-》点击管理 (阿里云有现成模版,添加版本号即可)
6、阿里云查看镜像管理可以看到刚才推送的
2022-10-13
Dockerfile的初体验
1、Dockerfile构建镜像
2、dockerfile不需要提前准备镜像文件,但需要写一个脚本
3、docker build -t="镜像名字“ dockerfile路径 使用build命令构建镜像 镜像名字可以自定义取 aa/bb
4、运行刚才的docker镜像 docker run -p 80 -d aa/bb /usr/sbin/nginx -g "daemon off;"
Dockerfile指令上
1、cmd指令学习
2、ENTRYPOINT指令
3、cmd和ENTRYPOINT差不多,但是cmd的默认指令会被覆盖掉
4、-d不需要进入容器 -it 进入容器并且指定指令
ENTRYPOINT指令
1、ADD 可以写网上下载的一些地址
2、COPY 只能本地宿机里面 从虚拟机里面的文件拷贝到容器里面
3、workdir /a 指定工作目录
4、env可以指定环境变量
5、user daemon 指定用户去执行 构建镜像的时候如果指定小明 那黄明就操作不了
6、unbuild 镜像触发器 当添加了unbuild为dockerfile文件里面时, 别的容器把这个作为镜像文件时会执行
docker数据卷管理
1、提供特殊文件or文件夹 可以和宿主机文件或者目录保持一致
2、增加备份一份到宿主机
3、docker run -v 容器
4、实例: docker run -v ~/data/:/data -it centos /bin/bash
dockerfie数据卷
docker file文件里面的volume["/datavolume1"]
数据卷有2种方式
方式一通过命令直接添加-v
方式二通过dockerfile文件添加VOLUME["/volumeData"] 这个是指定容器的文件夹,当里面创建文件之后通过命令
Docker inspect 容器名 找到宿主机地址就可以看到同步的文件
多容器管理
安装这个Docker-compose 批量删除,重启
以下是图片参考
个人总结
1、docker东西很多
2、需要自己耐心的去练习
3、关于docker-compose批量管理代码如下
主要操作的基本命令
1、docker run -d -p 80 容器名 指令(/usr/sbin/nginx) -g "daemon off;"
2、docker exec -it 容器名 /bin/bash 对正在运行的容器进行添加
3、创建镜像
4、生成容器
5、推送镜像
6、拉取镜像
7、自定义镜像
8、继承镜像
9、自动化管理docker-compose(批量管理,指定容器管理)运行,停止
10、需要了解详细可以参考官网
个人格言,没有总结及思考的学习等于白学