栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

docker入门学习

docker入门学习

作者Gitee地址 https://gitee.com/thciweicloud
作者项目 面包博客,一个微服务架构的前后端分离博客系统。前后端使用Vue+SpringCloud,鉴权登录使用JWT,使用ElasticSearch作为博客检索引擎,使用ELK进行日志收集,GithubActions完成持续集成和交付

docker 命令
# 查看镜像|搜索|删除
检查版本:docker --version             

检查镜像是否生效:docker info                    

查看镜像:docker images

搜索镜像:docker search mysql:5.7.0 (5.7.0:搜索指定的版本)

列出当前运行的容器:docker ps

删除:docker rmi 容器id/mysql:版本号       

强制删除:docker rmi 容器id -f   简写rm也可以

docker rmi -f $(docker images 镜像名 -q)

ctrl c 结束
一般步骤
docker pull nginx
docker images
docker run -d -p 80:80 --name xx nginx  
docker ps
{
docker ps -a 历史运行
docker rm 容器id 可删除历史中的容器
}
docker ps
docker exec -it 容器id /bin/bash 进入容器进行交互
cd /usr/share/nginx/html/
ls
(xxxx index.html)
echo "i love java" > index.html
cat index.html       --i love java
docker commit 容器id lovenginx:1.11  上传自己修改的镜像
docker images
docker stop 容器id
docker ps
docker rm $(docker ps -qa)     删除所有运行
docker run -d -p 80:80 容器id   运行自己的镜像,须通过id
docker ps    

ctrl insert复制

shift insert 粘贴


容器

一个镜像是一个应用环境

外部指令
# 运行容器

启动应用:docker run  mysql

-d 启动守护式容器(在后台启动容器,不占用窗口)
--name 起别名
-p 映射端口:原始端口号    指定端口号启动
-P 随机分配端口

例:不占用窗口并映射访问路径:docker run -d -p 80:80 mysql

自定义名称:docker run -d -p 80:80 --name mynginx nginx
# 查看运行容器
查看运行容器:docker ps

显示所有容器:docker ps -a
-a 显示正在运行和历史运行
-q 静默模式,只显示容器编号
一起用:docker ps -qa 

# 停止|关闭
开启容器:docker start 容器名字或者id
重启容器:docker restart 容器名字或者id
结束容器:docker stop 对应的id
立即停止容器:docker kill id

# 删除容器
删除容器:docker rm id
强制删除:docker rm id -f
删除所有:docker rm -f $(docker ps -qa)

# 删除镜像
docker ps -a 查看容器id
docker rmi 容器id ,先删除容器再删除镜像
docker rm -f 镜像id

# 挂载文件目录
docker run -d -p 9090:9090 --name prometheus -v linux地址:容器内地址   bitnami/prometheus:latest 
如挂载多个使用  作为换行符 --name mysql 
-v /mydata/mysql/log:/var/log/mysql 
-v /mydata/mysql/data:/var/lib/mysql 

# 设置容器自启动
docker update redis --restart=always
内部指令
# 查看容器内进程
查看容器内的进程:docker top 容器id或容器name

# 查看容器内部细节 
查看内部细节:docker inspect 容器id

# 查看容器的运行日志
查看日志:docker logs[OPTIONS] 容器id或容器名 
-t     加入时间戳
-f     跟随最新的日志打印
--tail 数字 显示最后多少条

例:docker logs -t -f e6a
ctrl c 结束
进阶命令(容器内数据交互)

linux/windows --》 docker(引擎) --》mynginx(容器)

requires at least xx arguments 至少需要的参数
# 进入容器内部

docker exec 容器id 
-i 以交互模式运行容器,通常与 -t一起使用
-t 分配一个伪终端 shell窗口 /bin/bash
docker exec -it  容器id /bin/bash
ls:列出目录文件

# root权限进入
docker exec -u 0 -it 容器名 /bin/bash

# 查看修改容器内软件配置
查看主页:cat /usr/share/nginx/html/index.html

更改主页内容:echo "i love docker" >  /usr/share/nginx/html/index.html

也可以用vim修改
# 容器内安装安装软件
安装apt-get update

终端:apt-get install vim      Ubuntu窗口,用来修改index

vim /usr/share/nginx/html/index.html

编辑好shift zz 保存退出

# 容器内换源
mv /etc/apt/sources.list /etc/apt/sources.list.bak
cat </etc/apt/sources.list
deb http://mirrors.ustc.edu.cn/debian stable main contrib non-free
deb http://mirrors.ustc.edu.cn/debian stable-updates main contrib non-free
EOF
apt update
apt install vim
mv /etc/apt/sources.list.bak /etc/apt/sources.list


# 退出容器
exit

# 将容器打包为新的镜像
docker commit -a="作者" -m="描述信息" 容器ID 目标镜像名称:TAG

# 拷贝
docker cp id:容器内资源路径 宿主机目录路径
将容器资源拷贝到宿主机
交互步骤
docker exec -it id /bin/bash
cd /usr/share/nginx/html/
ls
pwd     查看当前位置
exit
ls 检查当前已有文件
docker cp id:位置(/usr/share/nginx/html) .
ls

pwd 是 Print Working Directory 的缩写,其功能是显示当前所在工作目录的全路径

docker的镜像原理

镜像是一种轻量级的,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需的所有内容,包括代码、运行时所需的库、环境变量和配置文件。

为什么一个镜像那么大

联合文件系统,镜像被分层管理,体现是我们镜像多了之后,很多层不用重复下载

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/633038.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号