首页
关于
Search
1
PHP是如何实现静态化的
14 阅读
2
Docker是什么?如何安装
12 阅读
3
Docker基础入门教程
2 阅读
全部文章
PHP
Go
Vue
服务器
其他技术
登录
Search
标签搜索
docker
JiaHong
累计撰写
3
篇文章
累计收到
0
条评论
首页
栏目
全部文章
PHP
Go
Vue
服务器
其他技术
页面
关于
搜索到
2
篇与
的结果
2025-04-29
Docker基础入门教程
之前我们讲述了 docker是什么,并且如何进行安装,接下来我们说一说一些常见的docker基础命令和常见操作docker常用命令帮助启动类启动docker:systemctl start docker常规的进行docker的启动停止docker:systemctl stop docker此提示并非错误,这是docker的被访问自动唤醒机制,如果继续执行docker的相关命令,docker服务就会自动启动,不想docker被访问唤醒就在执行完systemctl stop docker后继续执行systemctl stop docker.socket重启docker:systemctl restart docker查看docker状态:systemctl status docker输出可能会类似于:● docker.service - Docker Application Container Engine Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2024-07-23 08:00:00 UTC; 1h 30min ago Process: 1234 ExecStart=/usr/bin/dockerd (code=exited, status=0/SUCCESS) Process: 5678 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS) Main PID: 9101 (dockerd) CGroup: /system.slice/docker.service └─9101 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock Jul 23 08:00:00 server.example.com systemd[1]: Starting Docker Application Container Engine... Jul 23 08:00:00 server.example.com dockerd[1234]: time="2024-07-23T08:00:00Z" level=info msg="Loading containers: start." Jul 23 08:00:00 server.example.com dockerd[1234]: time="2024-07-23T08:00:00Z" level=info msg="Loading containers: done." Jul 23 08:00:00 server.example.com systemd[1]: Started Docker Application Container Engine.在这个示例中:Loaded 显示服务是否被加载和配置为自动启动。Active 显示服务是否正在运行。Main PID 显示 Docker 服务的主进程 ID。CGroup 显示 Docker 服务的控制组信息。日志 显示服务启动时的日志信息。通过这些信息,你可以了解 Docker 服务的运行状况和可能遇到的问题。开启启动:systemctl enable docker查看docker概要信息:docker info查看docker总体帮助文档:docker --help会展示一些docker的额外服务参数信息 相信有经验的人都明白这个help是干嘛的 像是 composer gorm大部分工具都会有自己的使用说明书一样查看docker命令帮助文档:docker 具体命令 --help上述的指令基本是基于docker本身的一些操作命令接下来说一些日常开发中会用到的重点docker的镜像命令1 镜像名称镜像的名称组成:镜名称一般分两部分组成:repository:tag。在没有指定tag时,默认是latest,代表最新版本的镜像比如我们想搜索下载mysql的镜像 镜像就包含了需要的 仓库名称和版本2 镜像命令docker images #查看镜像从服务器拉取镜像拉取镜像docker pull 镜像名 #拉取最新版本的镜像docker pull 镜像名:tag #拉取镜像,指定版本推送镜像到服务docker push 镜像名docker push 镜像名:tagdocker save -o 保存的目标文件名称 镜像名 #保存镜像为一个压缩包docker load -i 文件名 #加载压缩包为镜像从Docker Hub查找/搜索镜像docker search [options] TERM docker search -f STARS=9000 mysql #搜索stars收藏数不小于10以上的mysql镜像删除镜像。当前镜像没有被任何容器使用 才可以删除docker rmi 镜像名/镜像ID #删除镜像 docker rmi -f 镜像名/镜像ID #强制删除docker rmi -f 镜像名 镜像名 镜像名 #删除多个 其镜像ID或镜像用用空格隔开即可 docker rmi -f $(docker images -aq) #删除全部镜像,-a 意思为显示全部, -q 意思为只显示IDdocker image rm 镜像名称/镜像ID #强制删除镜像给镜像打标签【有时候根据业务需求 需要对一个镜像进行分类或版本迭代操作,此时就需要给镜像打上标签】docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]案例1 下载镜像我们这里使用nginx举例从DockerHub中拉取一个nginx镜像并查看首先去镜像仓库搜索nginx镜像,比如DockerHub:通过命令:docker images 查看拉取到的镜像案例2--保存、导入镜像需求:利用docker save将nginx镜像导出磁盘,然后再通过load加载回来1)利用docker xx --help命令查看docker save和docker load的语法例如,查看save命令用法,可以输入命令:2)docker save -o [保存的目标文件名称] [镜像名称]便于测试指令 我生成一个docker_study文件夹3)使用docker load加载镜像先删除本地的nginx镜像:然后运行命令,加载本地文件:docker load -i nginx.tardocker容器命令docker容器的启动需要镜像的支持。容器保护三个状态:运行:进程正常运行暂停:进程暂停,CPU不再运行,并不释放内存停止:进程终止,回收进程占用的内存、CPU等资源docker容器常用的命令docker ps #显示正在运行的容器docker ps -a #-a,--all 显示全部容器,包括已停止的(默认只显示运行中的容器)容器怎么来? docker run 创建并运行一个容器,处于运行状态。--name 给要运行的容器起的名字; -p 将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口; -d 表示可后台运行容器 (守护式运行)。具体样例见下docker run --name containerName -p 80:80 -d nginx docker pause 容器名/容器ID #让一个运行的容器暂停docker unpause name #让一个容器从暂停状态恢复运行docker stop name #停止一个运行的容器(杀死进程、回收内存,仅剩文件系统)docker start name #让一个停止的容器再次运行docker restart name #重启容器docker stop与docker kill的区别:都可以终止运行中的docker容器。类似于linux中的kill和kill -9这两个命令,docker stop与kill相似,docker kill与kill -9类似docker kill 容器名 #杀掉一个运行中的容器docker rename 容器名 新容器名 #更换容器名删除容器docker rm 容器名/容器ID #删除容器 docker rm -f CONTAINER #强制删除docker rm -f 容器名 容器名 容器名 #删除多个容器 空格隔开要删除的容器名或容器IDdocker rm -f $(docker ps -aq) #删除全部容器docker logs 容器名 #查看容器运行日志 docker logs -f 容器名 #持续跟踪日志docker logs -f --tail=20 容器名 #查看末尾多少行进入容器执行命令,两种方式 docker exec 和 docker attach,推荐docker exec方式一 docker exec。docker exec -it 容器名/容器ID bash方式二 docker attach,推荐使用docker execdocker attach 容器名/容器ID从容器退到自己服务器中(不能用ctrl+C)exit #直接退出。未添加-d(持久化运行容器)时,执行此参数 容器会被关闭ctrl+p+q #优雅退出。无论是否添加-d参数,执行此命令容器都不会被关闭案例--创建并运行一个容器创建并运行nginx容器的命令:docker run --name containerName -p 80:80 -d nginx命令解读:docker run :创建并运行一个容器--name : 给容器起一个名字,比如叫做mn-p :将宿主机端口与容器端口映射,冒号左侧是宿主机端口,右侧是容器端口。宿主机端口可以任意,只要没有被占用,容器内端口取决于应用本身-d:后台运行容器,一般都会加nginx:镜像名称,例如nginx,没写标签tag 默认最新版本这里的-p参数,是将容器端口映射到宿主机端口。默认情况下,容器是隔离环境,我们直接访问宿主机的80端口,肯定访问不到容器中的nginx。现在,将容器的80与宿主机的80关联起来,当我们访问宿主机的80端口时,就会被映射到容器的80,这样就能访问到nginx了:案例--进入容器,修改文件需求:进入Nginx容器,修改HTML文件内容,添加“高级开发欢迎您”提示:进入容器要用到docker exec命令。步骤:1)进入容器。进入我们刚刚创建的nginx容器的命令为:docker exec -it mn bashdocker exec -it mr redis-cli命令解读:docker exec :进入容器内部,执行一个命令【exit 从容器内部退出】-it : 给当前进入的容器创建一个标准输入、输出终端,允许我们与容器交互mn :要进入的容器的名称namebash:进入容器后执行的命令,bash是一个linux终端交互命令。之前的cd ls都是bash命令的一部分; redis-cli 直接连接redis修改index.html的内容容器内没有vi命令,无法直接修改,我们用下面的命令来修改:sed -i -e 's#Docker 测试nginx修改文件内容#g' -e 's###g' index.html
2025年04月29日
2 阅读
0 评论
1 点赞
2025-03-12
Docker是什么?如何安装
一、Docker概述1.1 Docker 为什么出现?个人理解:开发了一个项目 可以在本机运行 但是如果版本更新 可能就会导致服务不可使用 后期我们维护起来就很繁琐 因为对于每一个机器 我们都得进行环境的部署呀 配置呀什么的 比如: 我在window系统下开发了一个项目(LNMP,LAMP...) 但是我现在准备部署到服务器上去 因为不能夸平台 所以我还得重新去按照配置环境什么的 但是docker 就可以让我们 直接将项目打包然后部署上线了 不用一个个单独去维护。1.2 Dorker历史2010年,几个搞IT的年轻人,就在美国成立了一家公司dotcloud做一些pass的云计算服务!LXC有关的容器技术!他们将自己的技术(容器化技术)命名就是Docker!Docker刚刚诞生的时候,没有引起行业的注意!(dotCloud就活不下去)开源(开放源代码)2013年,Docker开源!Docker越来越多的人发现了docker的优点!就火了,Docker每个月都会更新一个版本!2014年4月9日,Docker1.0发布!Docker为什么这么火?十分的轻巧在容器技术出来之前,我们都是使用虚拟机技术!虚拟机:在window中装一个Vmware,通过这个软件我们可以虚拟出来一台或者多台电脑!(很笨重)虚拟机也是属于虚拟化技术,Docker容器技术,也是一种虚拟化技术!1.3 能做什么虚拟机技术:(通过 软件 模拟的具有完整 硬件 系统功能的、运行在一个完全 隔离 环境中的完整 计算机系统)Docker和虚拟机技术的区别: 传统的虚拟机,可以虚拟出一条硬件,运行一个完整的操作系统,在这个操作系统上安装和运行所需的软件 容器内的应用可以直接运行在宿主 主机的内核中,容器没有自己的内核,也不用虚拟硬件 (轻便) 每个容器是相互隔离的,每个容器内都有属于自己的文件系统,之间互不影响。Devops:(开发,运维)应用于更快速的交付和部署 传统:通过大量的帮助文档,安装程序! Docker:打包镜像发布测试,一键运行!更便捷的升级和扩缩容 通过使用Docker,部署应用 如同搭积木一样!更简单的系统运维 使用容器化之后,开发和测试环境是高度一致的 4.更高效的计算资源利用 Docker是内核级别的虚拟化,可以在一个物理机上运行很多的容器,让服务器的性能可以压榨到极致二、 Docker安装2.1 基本组成镜像(Image): docker镜像就好比一个模板,我们可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。容器(container): docker利用容器技术,独立运行一个或者一组应用 通过镜像来创建 启动,停止,删除,基本命令! 目前就可以把这个容器理解为就是一个简易的linux系统仓库(repository): 仓库就是存放 镜像(image)的地方! 仓库又可以分为 公有仓库和私有仓库2.2 安装Docker 环境查看系统内核是 4.18 以上的[root@VM-12-6-opencloudos /]# uname -r6.6.47-12.oc9.x86_64[root@VM-12-6-opencloudos /]# cat /etc/os-release NAME="OpenCloudOS"VERSION="9.2"ID="opencloudos"ID_LIKE="opencloudos"VERSION_ID="9.2"PLATFORM_ID="platform:oc9"PRETTY_NAME="OpenCloudOS 9.2"ANSI_COLOR="0;31"CPE_NAME="cpe:/o:opencloudos:opencloudos:9"HOME_URL="https://www.opencloudos.org/"BUG_REPORT_URL="https://bugs.opencloudos.tech/"安装 云服务器 搭建 Docker-最佳实践-文档中心-腾讯云 (tencent.com) 配置镜像加速源
2025年03月12日
12 阅读
0 评论
0 点赞