首页
关于
友链
Search
1
wlop 4K 壁纸 4k8k 动态 壁纸
1,467 阅读
2
Nacos持久化MySQL问题-解决方案
931 阅读
3
Docker搭建Typecho博客
749 阅读
4
滑动时间窗口算法
728 阅读
5
Nginx反向代理微服务配置
699 阅读
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
登录
Search
标签搜索
java
javase
docker
java8
springboot
thread
spring
分布式
mysql
锁
linux
redis
源码
typecho
centos
git
map
RabbitMQ
lambda
stream
少年
累计撰写
189
篇文章
累计收到
24
条评论
首页
栏目
生活
解决方案
JAVA基础
JVM
多线程
开源框架
数据库
前端
分布式
框架整合
中间件
容器部署
设计模式
数据结构与算法
安全
开发工具
百度网盘
天翼网盘
阿里网盘
页面
关于
友链
搜索到
2
篇与
的结果
2023-03-18
Docker镜像3种获取方式
Docker镜像获取方式一、pull from registry必须在线,从registry拉取分公有和私有。公有,例如:dockerhub,私有,例如公司自己搭建的,只能公司内部访问。常用公有registry:需要注册账号。https://hub.docker.com/https://quay.io/镜像操作常用命令:查看镜像操作帮助:docker image拉取镜像:docker image pull 容器名称 可以简写成 docker pull 容器命令注意:默认拉取官方latest版本。例如拉取nginx:docker pull nginx查看本地已经拉取的镜像:docker image ls拉取指定版本镜像:docker image pull 容器名称:版本例如拉取nginx1.20.0版本镜像docker image pull nginx:1.20.0拉取其他registry镜像docker pull quay.io/jitesoft/nginx查看镜像详细信息docker image inspeack 镜像id例如查看nginx镜像详细信息:docker image inspect 7ab27删除镜像docker image rm 镜像命令或者id例如删除nginx镜像:docker image rm 7ab注意:不能删除正在使用镜像,否则会报错。必选删除正在使用的容器,才能删除,停止容器也不行docker image rm 605提示“Error response from daemon: conflict: unable to delete 605c77e624dd (cannot be forced) - image is being used by running container 3a79cefa5c8e”停止容器,删除也不行:必选先删除相关容器,才能删除:二、build from Dockerfile必须在线,因为需要一些基础包,从Dcokerfile构建。后面专门介绍这种方式构建镜像。三、load from file离线,文件导入。导出镜像文件docker image save 镜像名称:版本 -o 导出后镜像名称.image例如到处ngxin镜像:docker image save nginx:1.20.0 -o nginx.image导入镜像文件将导出的文件拷贝到需要使用的电脑上,通过下面命令导入。docker image load -i /root/nginx.image第1种最简单,第2种最复杂,但是也是最常用的,重点学习第2中。第3中相对简单一点。
2023年03月18日
198 阅读
0 评论
2 点赞
2023-03-14
docker入门
容器:一种打包技术。docker:打包技术的一种技术实现。一、基础知识基础命令查看docker相关信息docker versoin查看docker环境信息docker info查看命令帮助docker --helpimage镜像image是一个只读文件,里面包含文件系统、源码、可文件、依赖、工具等一些运行application所需的文件,可以理解成一个模板。docker image具有分层的概念。container容器一个运行中的“docker image”。是指是复制image并在image最上层加上一层读写的层。基于同一个image可以创建多个container。image获取方式1、自己制作2、从registry拉取,比如docker hub创建容器查看容器帮助命令docker container --help当没有拉取镜像时,会自动拉取。查看当前运行了那些容器:docker container lsid:唯一的id。image:使用的镜像。command:执行的命令created:创建时间,这里是2分钟之前。status:状态ports:端口协议names: 容器名称,不设置时,随机产生一个。创建容器:docker container run 镜像命令例如:创建nginx容器dockekr container run nginx注意:此时是在窗口运行,ctrl+c会停止运行容器。关闭容器docker stop 容器名称或者容器id例如:关闭nginx查看容器信息:docker container list关闭容器:docker container 7b51查看容器查看运行中的容器docker container list查看创建过或者使用过的容器docker container ps -a 或者 docker container ls -a区别:ps是早点docker里面使用的参数,docker container --help里面看不到,只看得见list的参数。删除容器docker container rm 容器命令或者id例如:删除nginx容器docker container rm 7b注意大部分的命令container是可以省略的。例如:创建容器: docker run nginx 查看容器: docker ps -a 停止容器: docker stop nginx 删除容器: docker rm nginx建议,还是带上container,清晰表示是在对容器操作,因为后面还有对镜像image的操作。二、小技巧批量操作比如:批量删除容器,如何操作?正常情况删除容器1、查看所有容器docker container ls -a2、删除多个容器docker container rm 容器1的ID 容器2的ID 容器3的ID 容器4的ID同时删除容器1、2、3、4。但是如果有很多个,就可以通过参数传递批量删除。批量删除1、查看所有容器iddocker container ls -aq2、参数传递批量删除docker container rm $(docker container ls -aq)批量关闭、删除同理。注意不能删除正在运行的容器。删除运行中的容器查看运行中的容器docker container li直接删除会提示容器正在运行不能删除。docker container rm nginx删除运行中容器1、停止容器,再删除。停止 docker container stop 681 再删除 docker container rm 6812、强制删除容器docker container rm c3e -f注意:强制删除多个一个参数 -f三、docker两种运行模式attached前台运行模式docker container run -p 80:80 nginxctrl+c在窗口创建容器后,界面输入创建容器日志,此时ctrl+c关闭后容器就关闭了。查看容器docker psdetached后台运行模式只需要添加参数detached,简写一个d即可。docker container run -d -p 80:80 nginx此时查看容器,依然在后台运行docker ps进入容器只需要加attach参数即可docker container attach其实此时已经进入容器,访问nginx页面刷新,就可看到页面输出日志。此时执行ctrl+c,就会关闭容器。ctrl+c查看容器已经关闭docker ps注意:不推荐attach前台模式。查看日志后台运行模式detached,查看日志。docker container logs 容器id或名称例如查看nginx日志docker container logs nginx动态跟踪日志只需要加参数-fdocker container logs -f 容器id或名称例如:动态跟踪nginx日志docker container logs -f nginx交互式模式1、用于执行创建容器后,执行的命令。只需要加参数-itdocker container run -it 容器名称 容器中要执行的命令例如:创建ubunt容器后,执行sh脚本docker container run -it ubuntu sh此时已经进入ubuntu的sh模式了,可以直接执行命令,查看ubuntu相关信息了。执行exit后执行退出ubuntu,并关闭了。因为我们是在交互模式,容器中执行的exit相当于关闭容器了。另一种进入交互模式办法。2、exec经常使用的容器交互方式docker exec -it 容器名称/容器id sh这样就进入了交互模式。例如,进入nginx容器里面,执行相关操作。docker exec -it nginx sh里面执行exit退出的是nginx的sh,并没有关闭nginx容器。这就是和上面没有exec参数的不同。注意:这是使用最频繁的命令。四、容器运行了那些进程docker top 容器名称/容器id可通过安装pstree查看进程关系树。可以看到创建一个docker容器,实际就是运行了一个脚本,而容器中又运行了其他进程子进程。注意:容器中进程id和实际看到的id是不同的。比如:创建busybox容器,进入容器内查看进程id。docker container run -it busybox sh查看进程ps在容器外部执行查看容器进程命令:docker container top fe0可以看到容器内部查看到的sh脚本进程和容器外部看到的sh脚本进程是不同的。这是由于docker容器隔离形成。五、docker容器运行背后发生了什么以创建nginx容器为列:docker container run -d -p 80:80 --name mynginx nginx说明:在本地查找是否有nginx镜像。如果有镜像,直接执行第4步骤。如果本地没有,去远程image registry查找nginx镜像(默认registry是Docker Hub)下载最新版本nginx镜像(默认nginx:latest)基于nginx镜像来创建一个新的容器,并准备运行。docker engine引擎给这个容器分配一个虚拟ip地址。在宿主机上打开80端口,并把容器的80端口转发到宿主机的80端口上。启动容器,运行指定命令。(启动容器,其实就是执行一个脚本启动nginx)。
2023年03月14日
127 阅读
0 评论
2 点赞