Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $YECBGYFECGEAFWHA as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2

Deprecated: imwpcache\f884414bce24ee67f\f73723ec7b1919fa5::__construct(): Implicitly marking parameter $BBWFDDBHHYHDXXAB as nullable is deprecated, the explicit nullable type must be used instead in /www/wwwroot/www.chuangxiangniao.com/wp-content/plugins/imwpcache-dist/build/f884414bce24ee67ff73723ec7b1919fa5.php on line 2
Linux安装docker及docker的基本操作总结_创想鸟

Linux安装docker及docker的基本操作总结

本篇文章给大家带来了关于linux上怎样安装docker以及docker的基本操作,希望对大家有帮助。

Linux安装docker及docker的基本操作总结

一.安装docker

Docker要求运行在Centos 7上,要求系统为64位,系统内核版本3.10以上

1.uname -an 查看当前系统版本

2.yum -y install docker 下载安装docker

3.service docker start  启动docker服务

4.docker version  检查docker是否安装成功

当看到下图的信息,就是表示本机docker已经安装成功,很简单 

                               Linux安装docker及docker的基本操作总结

二.镜像操作

创建容器要以镜像为基础,所以先讲下docker镜像的操作

搜索镜像

docker images ll 查看下本机的是否已经有了镜像

目前机器里还没有镜像,去Docker Hub下载(镜像还可自定义,这里就不细说了)

docker search java  ,还能指定具体的版本进行下载,

例如:docker search  Ubuntu:1.2.5.4,可以进行搜docker Hub 会列出很多镜像 

Linux安装docker及docker的基本操作总结

下载镜像 

docker pull docker.io/nginx 进行下载

下载到本地的镜像要比docker Hub上搜索出来的要大,因为下载过程中自动解压了,在查看镜像列表就有了刚才下载的镜像

列表包含了仓库名,版本标签,镜像ID,创建时间以及所占用的空间

Linux安装docker及docker的基本操作总结

删除镜像

删除没用的镜像docker rmi镜像id

Linux安装docker及docker的基本操作总结

三.镜像的创建与管理

前边我们已经下载好了Nginx的镜像,接下来我们就创建一个只有Nginx应用的容器docker run -i -t /bin/bash:-i:标准输入给容器 -t:分配一个虚拟终端 /bin/bash:执行bash脚本,

docker run -idt --name container_nginx -p 8080:80  docker.io/nginx

启动一个使用镜像docker.io/nginx,名字container_nginx的容器,-p 8080:80表示将容器的80端口映射到主机的8080端口,这样我们只要访问主机的8080端口就可以访问到容器的服务了。

注意:name前面是两个-, 端口前面有-p, docker.io/nginx是镜像名,8080是主机的端口,80是Nginx应用的端口

主机上的一个端口只能映射一个容器端口,不可以多个容器端口对应一个主机端口(如果容器安装的centos类的系统,那么容器端口随便设定,但如果容器内只是单纯的应用,那么容器端口要是应用自身的端口)

Linux安装docker及docker的基本操作总结

这样我们就创建并启动了一个容器!

exit 退出容器docker ps 查看运行中的容器docker ps -a  查看运行中和非运行中的所有容器docker exec -it container_nginx /bin/bash  进入容器如果容器还未启动 执行docker start container_nginx

进入容器后启动Nginx

whereis nginx 找Nginx的启动目录[root@iz2zehzeir87zi8q99krk1z ~]# docker start container_nginxcontainer_nginx[root@iz2zehzeir87zi8q99krk1z ~]# docker exec -it container_nginx /bin/bashroot@84683e425116:/# whereis  nginxnginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginxroot@84683e425116:/#  /usr/sbin/nginx

   此时在浏览器访问 http://51.110.218.9:8080/ 就可以直接访问容器内的Nginx 

Linux安装docker及docker的基本操作总结

如果访问不成功,可能是主机端口的防火墙开着,执行下边的命令关闭

/ sbin / iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

由于我用的阿里云服务器,所以需要在阿里云把8080端口开放

                               Linux安装docker及docker的基本操作总结

删除容器 

容器删除之前先将容器停止  docker stop container_nginx 或者是容器的iddocker rm -f container_nginx  容器删除

docker start 与 docker run 的区别

docker start name 启动一个已经创建的容器docker run 创建并启动一个容器

docker run 命令其实是 docker create 和 docker start 的命令组合,先执行docker create 创建一个容器 再接着docker start启动

主机和容器文件相互复制  

从主机复制到容器 sudo docker cp host_path containerID:container_path从容器复制到主机 sudo docker cp containerID:container_path host_path

请注意,以上这两个命令都是在主机中执行的,不能再容器中执行

docker cp container_nginx:/usr/local/xin.txt  /usr/local/software/   容器向主机复制文件
docker cp /usr/local/xinzhifu.txt  container_nginx:/usr/local/  主机向容器复制文件

这样一个基础的docker容器就创建完了 。。。。。。。。。。。。

反过来大家再看一看docker的容器与镜像的区别  https://www.cnblogs.com/linjiaxin/p/7381421.html

那么其实镜像与容器的本质区别并不大,那么镜像可以生成容器 ,容器是否可以做成镜像呢?

docket commit container_nginx  image_nginx:v1                           容器名            自己起一个镜像的名字:版本号

 用当前的容器生成了redis镜像

Linux安装docker及docker的基本操作总结

例如:A、B两台机器都想安装redis,A机器上创建容器并在容器中做好redis的一切配置,让后将这个容器docker commit 成镜像image_redis,B机器也想要安装redis,直接用镜像image_redis创建容器就行了,docker就是做这样一劳永逸的事情。

而且传统方式得在每台机器上安装配置redis非常麻烦

四.镜像的导入与导出

镜像压缩打包 (主机上进行操作),有两种方式 docker save 与 docker load 和 docker export 与 docker import

docker save nginx | gzip > nginx_xin_image.tar.gz  将现有的镜像压缩打包docker load -i nginx_xin_image.tar.gz  压缩的镜像解压docker images 进行查看

docker save 是直接将镜像进行打包   docker save 或 

docker export container_nginx> nginx_image.tar  cat nginx_image.tar | sudo docker import  - nginx_image:import

docker export 是直接将容器进行打包   docker save 或 

需要注意两种方法配套的,切不可混用。虽然导入导出时没问题,但是在创建容器时候会报错

如果使用import导入save产生的文件,虽然导入不提示错误,但是启动容器时会提示失败,

会出现类似”docker: Error response from daemon: Container command not found or does not exist”的错误。

类似,使用load载入export产生的文件,也会出现问题。

相关推荐:《Linux视频教程》

以上就是Linux安装docker及docker的基本操作总结的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/153210.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月3日 21:57:53
如何为自己的项目编写composer插件
下一篇 2025年12月3日 21:59:55

相关推荐

  • 解决PHP扩展缺失错误:phpinfo验证与服务重启指南

    本文旨在解决%ignore_a_1%脚本运行时提示特定扩展(如json、mbstring)缺失的问题,即便用户已在php配置中手动启用。核心解决方案是利用`phpinfo()`函数验证扩展的实际加载状态,并强调在修改php配置后,必须重启相关的web服务器或php-fpm服务,以确保新的配置生效。 …

    2026年9月22日
    100
  • VSCode安装C/C++文档查看 提升开发效率的VSCode技巧

    答案是利用C/C++扩展和cppreference插件实现高效文档查阅。首先安装微软官方C/C++扩展,启用智能感知与悬停提示;再安装cppreference扩展,通过命令面板直接搜索标准库函数,实现离线在线无缝查阅;结合Doxygen生成项目文档,使用“转到定义”功能快速跳转源码;同时借助Inte…

    2026年9月22日
    000
  • 高效利用 PriorityQueue 合并并排序多个列表

    本教程详细阐述了如何使用 Java 的 PriorityQueue 高效地合并并排序多个整数列表。文章首先指出将列表作为元素放入 PriorityQueue 的常见误区,进而纠正为应将单个整数元素放入队列。接着,它演示了如何正确声明、填充 PriorityQueue,并强调了通过循环调用 poll(…

    2026年9月22日
    300
  • Oracle定时任务

    oracle 介绍 oracle job 是应用在数据库层面,用来定时执行存储过程或者 SQL 语句的定时器。 测试数据代码语言:javascript代码运行次数:0运行复制 –建测试表CREATE TABLE TEST_JOB( DATETIME DATE, BEG_DATE VARCHAR2(…

    2026年9月22日
    500
  • 如何配置Android开发环境 Android Studio安装与JDK配置方法

    答案:配置Android开发环境需先安装JDK并设置环境变量,再下载安装Android Studio,配置SDK及虚拟设备,最后创建项目测试。具体步骤包括:1. 安装JDK 17并配置JAVA_HOME和Path;2. 从官网下载Android Studio并安装,自动集成SDK;3. 通过SDK …

    2026年9月22日
    100
  • ClipStudioPaintPro如何导出AI漫画图片?保存图像的详细指南

    导出AI漫画图片需通过Clip Studio Paint Pro的“文件”菜单选择“导出”,根据用途选单页、多页或Webtoon导出,推荐PNG用于高质量或透明背景需求,JPG用于网络分享以平衡文件大小与画质,设置300dpi以上分辨率确保清晰度,色彩配置选用sRGB保障跨平台一致性,批量导出时利用…

    2026年9月22日
    100
  • Linux系统如何解压rar文件

    大家好,很高兴再次与大家见面,我是你们的老朋友全栈君。 1、获取Linux版本的rar软件 前往官方网站,下载最新版的Linux rar软件包。 2、解压已下载的安装文件 使用以下命令解压压缩包: tar -xzpvf rarlinux-x64-610b2.tar.gz 3、编译并安装软件 进入解压…

    2026年9月22日
    100
  • Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制

    Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制Sublime开发MySQL备份与恢复脚本方案_实现定时导出与自动导入机制

    使用sublime编写mysql备份与恢复脚本能提升数据安全性与操作效率;1.通过shell或python调用mysqldump实现自动备份,建议加入时间戳、压缩存储及权限设置;2.结合cron配置定时任务实现自动化,注意使用绝对路径并添加日志记录;3.编写恢复脚本导入sql文件,需确保数据库结构一…

    2026年9月22日 用户投稿
    000
  • NFV中:DPDK与SR-IOV应用场景及性能对比

    NFV中:DPDK与SR-IOV应用场景及性能对比NFV中:DPDK与SR-IOV应用场景及性能对比NFV中:DPDK与SR-IOV应用场景及性能对比NFV中:DPDK与SR-IOV应用场景及性能对比

    关于作者 作者简介: 张帅,Wechat:yorkszhang 网站:www.flowlet.net DPDK和SR-IOV目前主要用于提升IDC(数据中心)中的网络数据包处理速度。然而,在NFV(网络功能虚拟化)场景下,DPDK与SR-IOV各自的应用场景和优缺点是什么呢?本文将从以下几个方面来探…

    2026年9月22日 用户投稿
    000
  • Linux命令行中last命令的实用技巧

    last命令用于查看Linux用户登录历史,读取/var/log/wtmp文件。1. 查看指定用户登录记录:执行last username(如last alice)可审计特定账户活动;2. 限制输出行数:使用last -n 10或last -10避免刷屏,便于脚本处理;3. 识别远程登录来源:pts…

    2026年9月22日
    000
  • 如何在mysql中实现热备份

    最推荐的MySQL热备份方案是结合Percona XtraBackup全量备份与binlog增量备份,并通过主从复制实现高可用。首先使用XtraBackup对InnoDB引擎进行在线全量备份,无需锁表;备份后执行–prepare确保数据一致性,恢复时用–copy-back还原…

    2026年9月22日
    000
  • Laravel 8 注册成功但登录失败的解决方案

    本文针对 Laravel 8 中使用 php artisan ui:auth 生成的认证系统,注册功能正常但登录功能失效的问题,提供了一种解决方案。通过重写 LoginController 中的 username() 方法,将认证字段从默认的 email 修改为 username,从而解决登录失败的…

    2026年9月22日
    000
  • 如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧

    如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧如何在GravitDesigner中使用AI裁剪图片?快速掌握裁剪技巧

    Gravit Designer没有内置AI智能抠图功能,但通过形状裁剪(剪切蒙版)、路径编辑和布尔运算等工具组合,可实现高精度、非破坏性的精细化裁剪。其“智能”体现在非破坏性编辑、矢量级精度和工具协同的灵活性,虽需手动操作,却能完全掌控裁剪过程,适合追求专业输出的设计师。 ☞☞☞AI 智能聊天, 问…

    2026年9月22日 用户投稿
    100
  • 虎卫战神AI巡航玩法指南

    虎卫战神AI巡航玩法指南虎卫战神AI巡航玩法指南虎卫战神AI巡航玩法指南虎卫战神AI巡航玩法指南

    在《虎卫战神》中,战力的提升始终是每位玩家的核心目标。无论是装备强化、任务奖励、主公升阶,还是转生炼体,各类成长系统都离不开关键材料的支持。而这些材料大多需通过挑战BOSS获取,主线任务推进同样依赖击败指定数量的BOSS。 频繁切换地图、升级效率低下是否让你倍感疲惫?别担心!2025年必备的AI巡航…

    2026年9月22日 用户投稿
    000
  • rm -rf 误删文件?别急,或许有救!

    rm -rf 误删文件?别急,或许有救!rm -rf 误删文件?别急,或许有救!rm -rf 误删文件?别急,或许有救!rm -rf 误删文件?别急,或许有救!

    立即采取行动! 在生产环境中,我们应尽量避免进行风险操作。但如果不慎犯错,如何挽救呢?让我分享一个故事:上周我为了打包一个应用,需要整理Ubuntu 16.04上的线上数据,不小心删除了一个数据文件,幸而最终有惊无险,现记录如下。 extundelete 我的恢复计划主要依赖于一个工具——extun…

    2026年9月22日 用户投稿
    000
  • MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作

    MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作MySQL跨数据库查询技巧_实现不同数据库间的数据联动操作

    mysql跨数据库查询的核心方法是在sql语句中通过“数据库名.表名”方式指定不同数据库的表,实现数据联动。1.在同一个mysql实例内,直接使用数据库名加表名进行关联查询,如db_user.users和db_order.orders,前提是用户需具备相应权限且建议对关联字段建立索引以提升性能;2.…

    2026年9月22日 用户投稿
    400
  • Procreate的AI混合工具怎么用?提升数字绘画效率的实用教程

    Procreate虽无直接名为“AI混合工具”的功能,但其图层混合模式、涂抹工具、Alpha锁定与剪裁蒙版等设计,共同构成了智能化的色彩混合体系。通过正片叠底、滤色等模式可实现自然光影叠加,涂抹工具结合纹理笔刷能模拟真实颜料融合,Alpha锁定和剪裁蒙版则确保混合精准可控。分层渐变、低不透明度叠加及…

    2026年9月22日
    700
  • laravel+redis有哪些用法

    laravel+redis有用法有:1、使用Redis作为缓存驱动器;2、使用Laravel提供的缓存操作方法来操作Redis缓存;3、使用Redis作为数据存储系统,Laravel提供了与Redis交互的方法,使我们能够方便地进行数据存储和读取;4、还提供了其他高级功能,如发布订阅、事务和管道等,…

    2026年9月22日
    700
  • MySQL复杂查询语句写作技巧_Sublime环境中编写多表关联逻辑

    MySQL复杂查询语句写作技巧_Sublime环境中编写多表关联逻辑MySQL复杂查询语句写作技巧_Sublime环境中编写多表关联逻辑MySQL复杂查询语句写作技巧_Sublime环境中编写多表关联逻辑MySQL复杂查询语句写作技巧_Sublime环境中编写多表关联逻辑

    提升mysql多表查询性能与可读性的方法包括:1. 优化索引,确保join和where字段有合适索引,理解复合索引左前缀原则;2. 使用cte分解逻辑,使结构清晰易维护;3. 利用sublime text插件如sqltools、sublimelinter提升编写效率;4. 拆解复杂逻辑,逐步构建查询…

    2026年9月22日 用户投稿
    100
  • unix怎么安装php_unix系统安装php环境指南

    首先确认系统环境并检查是否已安装相关软件,然后选择包管理器或源码编译方式安装PHP;推荐使用包管理器快速安装,如Debian/Ubuntu用apt,CentOS/RHEL/Fedora用yum或dnf,FreeBSD用pkg;安装后配置Web服务器,Apache需加载mod_php或集成PHP-FP…

    2026年9月22日
    300

发表回复

登录后才能评论
关注微信