Linux中部署Docker环境;Docker常用操作

news2024/9/28 11:17:54

一,部署Docker环境

官网手册:CentOS | Docker Docs

1.1、查看一下Linux内核版本

uname -r

要求3.10版本及以上。

2.2、卸载老版本docker,避免产生影响

如果服务器安装过docker,没有卸载再次安装会导致安装失败,首先要卸载老版本(咱们没安装过docker,可以不需要这个操作,不过可以试一下。)

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

1.3、升级 yum 和 配置源

yum工具可以安装软件,安装docker时需要更多工具,操作系统自带不够,所以要升级。

源是 安装软件时找的软件安装包,需要将docker的源(安装包)添加到yum中。

##执行第一个命令,给yum升个级

yum install -y yum-utils 

##执行的第二个命令  【一次不成功,多执行两次】 (国外的)

 yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#配置源也可以先换成下面的再执行命令2:

 yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2.4、安装指定版本的docker

安装:20.10.8版本

#安装指定版本的[命令公式]:

yum install --setopt=obsoletes=0 docker-ce-<VERSION_STRING> docker-ce-selinux-<VERSION_STRING>.noarch

#具体安装命令:

yum install --setopt=obsoletes=0 docker-ce-20.10.8-3.el7 docker-ce-selinux-20.10.8-3.el7.noarch

2.5、安装成功

2.6、启动服务验证一下

# 执行命令1:启动docker服务
systemctl start docker

# docker开机自启
systemctl enable docker

# 运行hello-world程序(官方自带镜像)
docker run hello-world  

解决网址如下: Docker运行hello-world镜像失败或超时_unable to find image 'hello-world:latest' locally -CSDN博客

首先:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
systemctl status docker

然后

docker info

最后

docker run hello-world

注:出错可能是网络原因,尝试多运行几次

二,Docker常用操作

操作汇总:

2.1、查看本地镜像

docker images

REPOSITORY:镜像的名字

TAG:镜像标签,可以通过标签指定版本号

IMAGE_ID:镜像的唯一标识

CREATED:创建镜像的时间

SIZE:镜像大小

2.2、用命令查指定镜像

docker search 镜像名称

2.3、拉取镜像

docker pull tomcat:8.0

2.4、查看容器

# 【查看当前正在运行的容器】
docker ps

# 【查看所有容器,包括运行中的和未启动的】
docker ps -a

CONTAINER_ID:容器的唯一标识

IMAGE:容器对应的镜像

COMMAND:容器启动执行的命令

CREATED:创建容器的时间

STATUS:容器的当前状态

PORT:容器的端口号

NAMES:容器的名字,自定义。名字不允许重复,无论容器的状态是运行还是停止。名字也是唯一的,操作容器时可以用container_id也可以用名字。

2.5、移除容器

先多启动几次tomcat镜像为记下来移除做准备:

# rm是移除容器
docker rm 容器id或名字

按照id移除时可以不把id写全,docker会根据输入模糊匹配,如果只匹配到一个,那么移除,匹配多个不做任何操作。

# rmi是移除镜像
docker rmi 镜像id或名字:[标签]

移除镜像时,id的规则也符合容器操作的规则,模糊匹配。 如果镜像对应的容器存在(正在运行),不能移除镜像,需要先把所有容器都移除才能移除镜像。

2.6、创建 容器

# docker run 自定义个名字 镜像名字或id:标签
# docker run tomcat8 tomcat:8.0
# tomcat启动还要添加其它指令,以保证可以正常访问到tomcat,并且不占用控制点,在后台运行

docker run -p 8080:8080 -d --name tomcat8 tomcat:8.0

run:第一次启动容器是要用run命令

-p:端口映射,将虚拟机的端口号映射到容器上(虚拟机端口号:容器端口号)

-d:后台运行

--name:给容器取个名字

2.7、启动Tomcat容器

# 启动 docker start 容器名称或id
docker start tomcat8

# 停止 docker stop 容器名称或id
docker stop tomcat8

# 重启 docker restart 容器名称或id
docker restart tomcat8

start和run的区别

  • run是在第一次启动时执行,准确来说是创建一个容器

  • start是启动已经存在的容器

  • start不需要想run一样写多个参数及配置,会自动按照run时的配置和命令启动

2.8、进入容器内

# 进入容器内部 docker exec -it 容器名称或id /bin/bash
docker exec -it tomcat8 /bin/bash

exec:进入容器的命令

-it:是由-i和-t组成的,-i是交互方式,-t是提供一个终端

/bin/bash:指定命令的路径和方式(就是该路径下有linux命令的可识别文件。)

2.9、Tomcat启动后404问题(无)

创建的Tomcat容器的webapps目录下可能没有ROOT工程,这样会导致访问时出现404问题,可以进入容器后,从webapps.dist目录下的ROOT工程复制到webapps中。(目前版本已经不存在404问题了)

2.10、退出容器+查看容器日志

退出容器可以用ctrl+d,也可以执行exit命令

docker日志查看

# docker logs 容器名字或id -f -n 数字
docker logs tomcat8 -f -n 10

-f:日志持续输出,会时时输出产生的日志

-n:输出倒数X条日志

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2168592.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Latex和Vscode安装和配置

一、Latex安装教程 打开清华大学开源软件镜像站&#xff0c;下载texlive.iso文件 右键点击ios文件&#xff0c;点击装载 配置latex安装 4. 安装过程 二、VScode安装和配置教程 打开Vscode官网&#xff0c;下载安装包 2.右键&#xff0c;以管理员身份运行VSCode安装包&#…

Day.js时间插件的安装引用与常用方法大全

&#x1f680; 个人简介&#xff1a;某大型国企资深软件研发工程师&#xff0c;信息系统项目管理师、CSDN优质创作者、阿里云专家博主&#xff0c;华为云云享专家&#xff0c;分享前端后端相关技术与工作常见问题~ &#x1f49f; 作 者&#xff1a;码喽的自我修养&#x1f9…

C++ 数据类型分类

在C中&#xff0c;数据类型可以大致分为内置类型&#xff08;Built-in Types&#xff09;、标准库类型&#xff08;Standard Library Types&#xff09;和自定义类型&#xff08;User-Defined Types&#xff09;三大类。 内置类型&#xff08;Built-in Types&#xff09; 内置…

Kafka和RabbitMQ比较

Kafka和RabbitMQ都是流行的消息队列系统&#xff0c;它们在分布式系统中扮演着至关重要的角色&#xff0c;用于异步消息传递和解耦应用组件。尽管它们共享一些基本的概念&#xff0c;但它们在设计目标、性能特性、使用场景等方面有着显著的差异。 设计目标 Kafka&#xff1a;Ka…

理解Java引用数据类型(数组、String)传参机制的一个例子

目录 理解Java引用数据类型&#xff08;数组、String&#xff09;传参机制的一个例子理解样例代码输出 参考资料 理解Java引用数据类型&#xff08;数组、String&#xff09;传参机制的一个例子 理解 引用数据类型传递的是地址。用引用类型A给引用类型B赋值&#xff0c;相当于…

ERROR:start workflow error,dolphinscheduler log重复刷屏(死循环)直至磁盘存满

在使用ds过后发现&#xff0c;我虚拟机中的磁盘内存全部沾满了 查看目录下大于100M的文件&#xff1a; find / -size 100M 查看后发现问题在于ds产生的日志文件特别大而且多&#xff0c; 查看日志后发现日志中一直都在死循环错误&#xff1a;start workflow error 等 其中文件…

【论文_1992】 REINFORCE » P2 附录

Williams, R. J. Simple statistical gradient-following algorithms for connectionist reinforcement learning. Mach. Learn., 8:229–256, 1992. PDF 下载链接 前面部分&#xff1a;【论文_1992】 REINFORCE P1 文章目录 附录 AA.1. REINFORCE 算法的一些结论A.2. 回合式 …

《深度学习》迁移学习综合应用 原理、案例解析与实现

目录 一、迁移学习 1、什么是迁移学习 2、迁移学习步骤 1&#xff09;选择预训练的模型和适当的层 2&#xff09;冻结预训练模型的参数 3&#xff09;在新数据集上训练新增加的层 4&#xff09;微调预训练模型的层 5&#xff09;评估和测试 二、案例实现 1、数据准备…

内网穿透的应用-Windows系统安装SeaFile并实现远程访问本地共享文件资料详细教程

文章目录 1. 前言2. SeaFile云盘设置2.1 Owncould的安装环境设置2.2 SeaFile下载安装2.3 SeaFile的配置 3. cpolar内网穿透3.1 下载安装3.2 Cpolar注册3.3 Cpolar云端设置3.4 Cpolar本地设置 4.公网访问测试5.结语 1. 前言 本文主要为大家介绍&#xff0c;如何使用两个简单软件…

如何使用ssm实现基于BS的库存管理软件设计与实现+vue

TOC ssm708基于BS的库存管理软件设计与实现vue 绪论 课题背景 身处网络时代&#xff0c;随着网络系统体系发展的不断成熟和完善&#xff0c;人们的生活也随之发生了很大的变化。目前&#xff0c;人们在追求较高物质生活的同时&#xff0c;也在想着如何使自身的精神内涵得到…

【Python报错已解决】ModuleNotFoundError: No module named ‘psutil’

&#x1f3ac; 鸽芷咕&#xff1a;个人主页 &#x1f525; 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想&#xff0c;就是为了理想的生活! 专栏介绍 在软件开发和日常使用中&#xff0c;BUG是不可避免的。本专栏致力于为广大开发者和技术爱好者提供一个关于BUG解决的经…

【无人机设计与控制】基于改进蚁群算法的机器人_无人机_无人车_无人船的路径规划算法

摘要 改进的蚁群算法 (IACO) 通过结合启发式信息和自适应参数调节&#xff0c;优化了机器人、无人机、无人车和无人船的路径规划问题。本文对传统蚁群算法的局限性进行了分析&#xff0c;并提出了一种改进方法&#xff0c;提升了算法的收敛速度和全局搜索能力。通过实验对比&a…

三篇文章速通JavaSE到SpringBoot框架 (中) IO 进程线程 网络编程 XML MySQL JDBC相关概念与演示代码

文章目录 IOfile类的作用I/O的作用将上篇文章综合项目使用IO流升级所需知识点 进程 线程创建线程的三种方式 网络编程网络编程介绍IP地址端口号网络通信协议网络通信协议的分层演示代码 XMLXML的作用是什么&#xff1f;xml特点 注解什么是注解&#xff1f;注解的使用注解的重要…

STM32堆栈溢出Bug

可以看到x和buf交换位置后&#xff0c;x处于0x200006B0地址上是不会被函数B影响到的&#xff0c;实际上B函数对buf赋值的过程是出现了越界行为的&#xff0c;所以导致了x在buf地址之后的话会被意外修改掉值。

管易云·奇门和金蝶云星空接口打通对接实战

管易云奇门和金蝶云星空接口打通对接实战 对接源平台:管易云奇门 管易云是金蝶旗下专注提供电商企业管理软件服务的子品牌&#xff0c;先后开发了C-ERP、EC-OMS、EC-WMS、E店管家、BBC、B2B、B2C商城网站建设等产品和服务&#xff0c;涵盖电商业务全流程。 写入目标:金蝶云星空…

Python下利用Selenium获取动态页面数据

利用python爬取网站数据非常便捷&#xff0c;效率非常高&#xff0c;但是常用的一般都是使用BeautifSoup、requests搭配组合抓取静态页面&#xff08;即网页上显示的数据都可以在html源码中找到&#xff0c;而不是网站通过js或者ajax异步加载的&#xff09;&#xff0c;这种类型…

【趣学Python算法100例】冒泡排序

问题描述 对N个整数&#xff08;数据由键盘输入&#xff09;进行升序排列。 问题分析 要整理一组相同类型的数&#xff0c;我们可以用一个叫数组的工具来存放它们。冒泡排序&#xff0c;就是通过一次次比较相邻的两个数并交换位置&#xff0c;让原本乱糟糟的数组变得井井有条…

Python画笔案例-066 绘制橙子

1、绘制橙子 通过 python 的turtle 库绘制 橙子,如下图: 2、实现代码 绘制 橙子,以下为实现代码: """橙子.py注意亮度为0.5的时候最鲜艳本程序需要coloradd模块支持,安装方法:pip install coloradd程序运行需要很长时间,请耐心等待。可以把窗口最小化,然后…

【源码+文档+调试讲解】汽车维修管理系统的设计与实现

摘 要 随着计算机技术的高速发展&#xff0c;现代计算机系统已经从以计算为中心向以信息化处理为中心的方向发展。而汽车维修&#xff0c;不仅需要在硬件上为现代社会的人们提供一个汽车维修的平台&#xff0c;获取汽车知识的环境&#xff0c;更要在软件上为车辆提供汽车维修的…

记一次京东自营广电流量卡踩坑

本文首发于只抄博客&#xff0c;欢迎点击原文链接了解更多内容。 前言 最近由于竞合&#xff0c;电信和联通的大流量卡都下架了&#xff0c;29 元的长期套餐流量最多只有 80G 了&#xff0c;想要长期大流量卡只剩下广电这一个选择了。光从套餐上来看 29 元 192G 的流量还是很诱…