首页 > 其他分享 >docker基础

docker基础

时间:2023-08-08 10:47:47浏览次数:41  
标签:容器 run ps 基础 netstat docker 运行

目录

容器运行常见报错以及解决办法
容器运行参数解析
Netstat命令
dhclient命令

docker命令补充

容器运行常见报错以及解决办法

1.出现Error response from daemon: Conflict,The container name “***” is already in use

解决方法:

(1)给容器换一个名字, 比如说 docker run -it --name=mycentos2 centos:7 /bin/bash, 可以解决问题.

(2)将原来的容器删除
查询当前容器:docker container ls -all

删除当前容器(删除前先停止运行docker stop ewrfdgfdfs(containerid)):
再docker container rm mycentos(container ID也可)
如果想要再次使用,使用则docker restart 镜像名

(查看容器的一系列命令):

docker ps 不带参数

显示全部容器,和总文件大小 docker ps -a -s

显示最近创建的容器 docker ps -l docker ps -a -l

显示最近创建的 2 个容器 docker ps -n 2

显示完整的镜像ID docker ps --no-trunc

只显示镜像ID docker ps -q

2. run容器时,端口被占用

解决方法:

先netstat -tnalp 查看运行程序及端口(点击这跳至netstat解析)
然后kill 进程号
如kill 2354


### 容器运行参数解析

使用docker最简单的方式就是docker run了。想要运行什么服务,就run相应的镜像。

以下的内容基于Linux环境

docker run也支持简单的自定义参数,比如这个镜像以什么方式运行,要不要分配网络端口、存储空间之类的。如果要用好docker至少要熟练最简单的参数设置方法。

语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用OPTIONS说明:

-d: 后台运行容器,并返回容器ID;
不加这一个默认直接进入容器,之后如果退出则会连着容器一起挂起(暂停运行)。

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
同时使用it之后,你就可以进入到这个容器里面,就像在一台新的Linux主机中了。

-p: 指定端口映射,格式为:主机(宿主)端口:容器端口;
非常常用,从容器外访问容器内服务的主要方式。

--name="nginx-lb": 为容器指定一个名称;

-m :设置容器使用内存最大值;
-e username="ritchie": 设置环境变量;

--volume , -v: 绑定一个卷
格式为主机目录:容器目录,这条命令也是非常有用的,如果不绑定目录,那么在删除容器的时候,里面的所有数据也一起删除了。但如果使用了挂载卷的话,直接存在宿主机对应文件夹中,下次开启容器还能直接使用。通常用于存一些配置文件、数据什么的。

实例1.
docker run --name mynginx -p 8080:80 -v /data:/data -d nginx:latest、

说明1:
docker run:启动一个容器。
--name mynginx:将容器命名为mynginx。
-p 8080:80:将容器的 80 端口映射到主机的 8080 端口
-v /data:/data:将主机的目录 /data 映射到容器的 /data
-d:以后台模式启动。
nginx:latest:镜像来源:nginx:latest

实例2.
docker run -it nginx:latest /bin/bash
root@b8573233d675:/#

说明2:
docker run:启动一个容器。
-it:以交互模式启动(进入容器中)
nginx:latest:镜像来源:nginx:latest
/bin/bash:进入容器后要执行的命令,这里是打开终端。
root@b8573233d675:/# :已经进入了容器里面的终端,用户名变化。
学会了docker run命令,就足以运行大部分docker服务。

实例3:
使用wordPres镜像创建一个容器

说明3.
docker run --name wordpress
-e WORDPRESS_DB_HOST=47.97.69.160:3306
-e WORDPRESS_DB_USER=root
-e WORDPRESS_DB_PASSWORD=a1b2c3
-e WORDPRESS_DB_NAME=wordpress
-p 8080:80
-v /root/wordpress/config:/var/www/html
-d wordpress\


Netstat命令

Netstat(network statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况

参数解析:

netstat -tanlp 列出tcp以及进程名进程号 禁用反向域名解析,加快查询速度

默认情况下 netstat 会通过反向域名解析查找每个 IP 地址对应的主机名,会降低查找速度。

  1. netstat -nat n选项可以禁用此行为,并且用户 ID 和端口号也优先使用数字显示

  2. netstat -ntl 只列出监听中的连接 -l选项可以只列出正在监听的连接(不能和 a 选项同时使用)

  3. netstat -ntlp 获取进程名、进程号以及用户 ID
    -p 选项可以查看进程信息(此时 netstat 应尽量运行在 root 权限之下,否则不能得到运行在 root 权限下的进程名)

  4. netstat -r 显示路由信息 使用 -r 选项打印内核路由信息,与 route 命令输出一样。

​ 5 . netstat -i 网络接口信息 -i 选项可以输出网络接口设备的统计信息,结合上 -e 选项,等于 ifconfig 命令的输出

  1. netstat -s 获取网络协议的统计信息 -s选项可以输出针对不同网络协议的统计信息,包括 Ip、Icmp、Tcp 和 Udp 等。

dhclient eth命令

dhclient命令功能:用于动态主机配置协议

命令:

dhclient eth0获取IP地址,
然后运行ifconfig eth0

1.---在指定网络接口上发出DHCP请求 dhclient eth0


docker命令补充

docker ps #容器的查看
docker stop 2946f38aa078 #通过容器的id号来停止一个运行的容器
docker ps -a #查看所有的历史容器
docker start 2946f38aa078 #重启启动之前被关闭的容器服务
docker rm 2946f38aa078 #删除一个容器,前提是stop此容器
docker exec -it 2946f38aa078 #/bin/bash #进入容器

docker search pikachu 搜索pikachu相关镜像,再从中选择星星最多的

标签:容器,run,ps,基础,netstat,docker,运行
From: https://www.cnblogs.com/betty-123/p/17613529.html

相关文章

  • JavaScript 基础(1) - 笔记
    1JavaScript基础1.1JavaScript是什么1.JavaScript(是什么?)是一种运行在客户端(浏览器)的编程语言,实现人机交互效果。2.作用(做什么?)网页特效(监听用户的一些行为让网页做出对应的反馈)表单验证(针对表单数据的合法性进行判断)数据交互(获取后台的数据,渲染到前端)服务端编程(node.js......
  • 云原生可观测框架 OpenTelemetry 基础知识(架构/分布式追踪/指标/日志/采样/收集器)
    什么是OpenTelemetry?OpenTelemetry是一个开源的可观测性框架,由云原生基金会(CNCF)托管。它是OpenCensus和OpenTracing项目的合并。旨在为所有类型的可观测信号(如跟踪、指标和日志)提供单一标准。https://opentelemetry.iohttps://www.cncf.iohttps://opencensus.io......
  • JavaSE基础(一)
    一、Java背景内容JDK、JRE、JVM跨平台原理常用DOS命令、BUG及BUG解决(一)JDK、JRE、JVM1.JDK(JavaDevelopmentKit):是Java开发工具包,是整个Java的核心,包括了Java运行环境JRE、Java工具和Java基础类库。2.JRE(JavaRuntimeEnvironment):是Java的运行环......
  • 《面试1v1》ElasticSearch基础
    面试官:嗨,欢迎来到我们的面试!今天我们要聊一聊ElasticSearch基础知识。你对ElasticSearch有了解吗?候选人:当然!ElasticSearch是一个开源的分布式搜索和分析引擎,它可以帮助我们快速地存储、搜索和分析海量数据。简单来说,就是个大数据的搜索神器!面试官:哈哈,没错!那你能给我解释一下Elas......
  • 深度学习的一些基础函数
    上半年学习的一些记录主要参考的书:《写给新手的深度学习:用Python学习神经网络和反向传播》 Numpy:linspacereshape广播机制(数组在某一轴上扩展,值和原来一样,扩展之后可以和其他维度的数组做基本计算)切片transpose调换轴其中transpose(1,0)等价于T(转置)——略怪指定轴a......
  • 【MySQL入门到精通-黑马程序员】MySQL基础篇-SQL概述及DDL
    前言本专栏文章为观看黑马程序员《MySQL入门到精通》所做笔记,课程地址在这。如有侵权,立即删除。一、SQL1.1SQL通用语法SQL语句可以单行或多行书写,(默认)以分号结尾。SQL语句可以使用空格/缩进来增强语句的可读性。MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。注释:单行注释......
  • 在docker中创建指定版本的jenkins
     dockerrun-it-d-p8082:8080-p50000:50000 --namemyjenkins01jenkins/jenkins:2.417 以下是对给定的命令参数的解释:dockerrun:运行一个新的容器-it:在一个交互式终端中运行容器-d:在后台运行容器-p8082:8080:将容器的8080端口映射到主机的8082端口......
  • go基础-函数
    概述在任何语言中函数都是极其重要的内容,业务功能都是由一个或多个函数组合完成。go语言是函数式编程语言,函数是一等公民,可以被传递、有函数类型,go语言有三种类型的函数,普通函数、匿名函数(Lambda函数)、方法函数。go语言函数有独特属性,可以有多个返回值,需要使用多个变量接收、函......
  • Docker安装MySQL
    安装版本为MySQL8.0.131.拉取镜像#默认拉取最新镜像dockerpullmysqldockersearch<name>#https://hub.docker.com#在网站选择具体版本dockerpullmysql:8.0.132.创建挂载目录#建立宿主机数据库目录mkdir-p/home/docker/mysql/data#建立宿主机数据库配置文件......
  • 华为VRP-OSPF基础配置命令
             ......