docker的安装及常用命令

Docker(一):Docker起源、组成、安装、及常用命令 🟢 Docker(一):Docker起源、组成、安装、及常用命令 阅读详情

安装Docker

官网地址: https://www.docker.com/
文档地址: https://docs.docker.com/
Dockerhub仓库地址: https://hub.docker.com/

名词解释

  • 镜像(image):Docker镜像就是一个模板,可以通过这个模板来创建容器服务。
  • 容器(container):Docker利用容器技术,独立运行一个或者一组应用,通过镜像创建。
  • 仓库(repository):仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库,Docker Hub(默认是国外的),阿里云有容器服务器(配置镜像加速)

环境准备

1、CentOS 7
2、使用xshell连接服务器进行远程操作

环境查看

#系统内核是 3.10 以上的版本
[root@wkf /]# uname  -r
3.10.0-1160.59.1.el7.x86_64
#系统版本
[root@wkf /]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

安装

# 1、卸载旧版本命令
yum remove docker \
            docker-client \
            docker-client-latest \
            docker-common \
            docker-latest \
            docker-latest-logrotate \
            docker-logrotate \
            docker-engine
# 2、安装yum-utils包
yum install -y yum-utils
#/3、设置阿里云镜像
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、更新yum软件包索引到最新
yum makecache fast
# 5、安装Docker docker-ce 社区版 ee 企业版
yum install -y docker-ce docker-ce-cli containerd.io
# 6、启动Docker
systemctl start docker
#/7、查看是否安装成功
docker version

卸载docker

# 卸载Docker
yum remove docker-ce docker-ce-cli containerd.io
# 主机上的映像、容器、卷或自定义配置文件不会自动删除。要删除所有映像、容器和卷
rm -rf /var/lib/docker  # docker的默认工作路径
rm -rf /var/lib/containerd

镜像加速

# 配置阿里云容器镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://XXXX.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

# 配置百度云容器镜像加速
mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://mirror.baidubce.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker  

# 配置腾讯云镜像加速
mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
   "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker 

帮助命令

docker version # 显示docker的版本信息
docker info # 显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help # 帮助命令

帮助文档地址: https://docs.docker.com/engine/reference/commandline/docker/

镜像命令

docker images #查看所有本地主机上的镜像
[root@root ~]# docker images
#镜像的仓库源   标签      id             创建时间        大小
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    feb5d9fea6a5   9 months ago   13.3kB
# 可选项
 -a,  --all          # 列出所有的镜像
 -q,  --quiet        # 只显示镜像的id
docker search 搜索镜像
docker search mysql # 搜索镜像
docker search mysql -f=STARS=5000  # 根据条件搜索

在这里插入图片描述

docker pull 下载镜像
#下载镜像  docker pull 镜像名[:tag]
[root@root~]# docker pull mysql
Using default tag: latest		# 如果不写tag  默认就是latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete 	# 分层下载  docker  images的核心 联合文件系统
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709  #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest   #真实的地址

# 下面的命令等价
docker pull mysql
docker pull docker.io/library/mysql:latest

#指定的版本下载
[root@wkf ~]# docker pull mysql:5.7
5.7: Pulling from library/mysql
72a69066d2fe: Already exists 
93619dbc5b36: Already exists 
99da31dd6142: Already exists 
626033c43d70: Already exists 
37d5d7efb64e: Already exists 
ac563158d721: Already exists 
d2ba16033dad: Already exists 
0ceb82207cd7: Pull complete 
37f2405cae96: Pull complete 
e2482e017e53: Pull complete 
70deed891d42: Pull complete 
Digest: sha256:f2ad209efe9c67104167fc609cca6973c8422939491c9345270175a300419f94
Status: Downloaded newer image for mysql:5.7
docker.io/library/mysql:5.7

在这里插入图片描述

删除镜像
docker rmi -f 镜像id # 删除指定镜像
docker rmi -f 镜像id 镜像id 镜像id # 删除多个镜像
docker rmi -f $(docker images -aq) # 删除全部的镜像

容器命令

说明:我们有了镜像才可以创建容器, linux 下载一个centos来测试学习
docker pull centos
新建容器并启动
docker run [可选参数]  image
# 参数说明
--name="Name"	容器名字    tomcat01 tomcat02 用来区分容器
-d				后台的方式运行
-it				使用交互方式运行,进入容器查看内容
-p				指定容器的端口  -p  8080:8080
	-p  ip:主机端口:容器端口
	-p  主机端口:容器端口  (常用)
	-p  容器端口

#测试,启动并进入容器
[root@wkf ~]# docker run -it centos  /bin/bash
[root@c86b10fa2a91 /]# ls  
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

#从容器中退出主机
[root@c86b10fa2a91 /]# exit
[root@root /]# ls
bin  boot  data  dev  etc  export  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var	
列出所有运行的容器
# docker ps  命令
		#列出当前正在运行的容器
docker ps -a   #列出当前正在运行的容器+带出历史运行过的容器
docker ps -n #显示最近创建的容器
docker ps -q   #只显示容器的编号

[root@root /]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root /]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                      PORTS     NAMES
c86b10fa2a91   centos         "/bin/bash"   7 minutes ago    Exited (0) 6 minutes ago              friendly_jackson
c1bb6b0319cf   feb5d9fea6a5   "/hello"      54 minutes ago   Exited (0) 54 minutes ago             blissful_ishizaka
56b2f1378bd7   feb5d9fea6a5   "/hello"      23 hours ago     Exited (0) 23 hours ago               hardcore_swartz
退出容器
exit  # 直接容器停止并退出
Ctrl + P + Q   # 容器不停止退出
删除容器
docker rm  容器id 				# 删除指定的容器,不能删除正在运行的容器,如果要强制删除   docker rm -f 
docker rm -f $(docker ps -aq)	# 删除所有的容器
docker ps -a -q|xargs  docker rm #删除所有容器
启动和停止的操作
docker  start  容器id		# 启动容器
docker  restart  容器id		# 重启容器
docker  stop 容器id			# 停止当前正在运行的容器
docker  kill 容器id  		# 强制停止当前容器

其他常用命令

后台启动容器
#命令 docker ps -d 镜像名
[root@root /]# docker run -d centos
# 问题 docker ps,发现centos 停止了
# 创建的坑:docker 容器使用后台运行,就必须有一个前台进程,docker发现没有应用,就会自动停止
# Nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs -tf  --tail 10 容器id,没有日志
# 自己编写一段shell脚本 
docker run -d centos /bin/sh -c "while true;do echo root123;sleep 1;done"
# [root@root /]# docker ps 
CONTAINER ID   IMAGE         
7f5dd423816e   centos   
# 显示日志
-tf		# 显示日志
--tail number #显示日志的行数 
docker logs -tf  --tail 10 7f5dd423816e
查看容器中进程信息 ps
# 命令  docker top 容器id
[root@root /]# docker top 7f5dd423816e
UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                18729               18710               0                   00:06               ?                   00:00:00            /bin/sh -c while true;do echo root123;sleep 1;done
root                19090               18729               0                   00:12               ?                   00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
查看镜像中的元数据
# 命令  
docker inspect 容器id
# 测试
[root@root /]# docker inspect 7f5dd423816e
进入当前正在运行的容器
#通常容器都是使用后台方式运行的,需要进入容器,修改一些配置

#命令
docker exec -it 容器id bashShell
# 测试 方式1
[root@root /]# docker exec -it 7f5dd423816e /bin/bash
[root@7f5dd423816e /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@7f5dd423816e /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 16:06 ?        00:00:00 /bin/sh -c while true;do echo root123;sleep 1;done
root       753     0  0 16:19 pts/0    00:00:00 /bin/bash
root       960     1  0 16:22 ?        00:00:00 /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
root       961   753  0 16:22 pts/0    00:00:00 ps -ef

#方式2
docker attach  容器id
# 测试
[root@root /]# docker attach 7f5dd423816e
正在执行当前的代码。。。

docker exec   # 进入容器后开启一个新的终端,可以在里面操作(常用)
docker attach  # 进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器id:容器内路径   目的的主机路径
# 查看当前主机目录
[root@root home]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS         PORTS     NAMES
c4f353e9c5d9   centos    "/bin/bash"   2 minutes ago   Up 2 minutes             admiring_perlman
# 进入docker容器内部
[root@root home]# docker attach c4f353e9c5d9
[root@c4f353e9c5d9 /]# cd /home/
[root@c4f353e9c5d9 /]# ls
# 在容器内新建一个文件
[root@c4f353e9c5d9 home]# touch test.java
[root@c4f353e9c5d9 home]# exit
exit
[root@root home]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root home]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                      PORTS     NAMES
c4f353e9c5d9   centos    "/bin/bash"   3 minutes ago   Exited (0) 14 seconds ago             admiring_perlman
# 将这个文件拷贝出来到主机上
[root@root home]# docker cp c4f353e9c5d9:/home/test.java  /home
[root@root home]# ls
root123.java  test.java

# 拷贝是一个手动的过程  可以使用 -v 卷的技术,可以实现自动同步
docker安装与常用命令 文章附有docker下载安装包文件 使用yum工具下载yum是软件包管理工具 通过 执行 man yum 可以查看yum的帮助信息依赖环境下载完毕以后,设置下载的镜像源,如果不设置,会默认去Docker的官方下载,但是官方的服务器在国外,下载会比较缓慢,设置下载国内的镜像源(镜像就是英文单词image) ###使用国内的阿里云 输入以上代码 回车,如下图所示:###首先,下面这个命令是将软件包信息提前在本地缓存一份,用来提高搜索安装软件的速度 ###提高安装速度以后,安装docker相关的。(d 阅读详情

相关推荐

PC微信逆向:破解聊天记录文件!_读取别人pc微信msg文件

本文详细介绍了PC版微信数据库的解密方法,总结了前人经验并补充了关键细节。通过OllyDbg调试工具从微信内存中获取32字节加密密钥,使用C++结合OpenSSL库实现解密程序。重点解决了开发环境配置问题,包括Visual Studio项目设置和OpenSSL库的版本适配,将原本固定的数据库路径改为参数化输入,提高了工具的通用性。该方案为电子取证中的微信数据提取提供了完整的技术路径,避免了研究者重复探索已解决的问题。

zz96405784848的博客 9748

解决debian不能用ps查看进程

在Debian上突然不能用ps 解决办法 apt update && apt -y install procps

想练武,就得下功夫 1268

MOS管热阻的测量方法

实验室内如何测试mos管热阻

weixin_43492562的博客 4090

ps命令在docker容器不存在解决办法

原文链接https://www.jggbk.com/blogs/article/30.html

jya126的专栏 2790

[工作流节点10] 获取多条数据并循环执行 —— 明道云批处理自动化实战

本文系统介绍了明道云工作流中"获取多条数据+循环执行"的批处理功能。该功能通过筛选数据集合并逐条处理,适用于批量通知、数据更新等场景。文章详细解析了功能配置方法,包括数据筛选、循环设置和异常处理,并提供了合同到期提醒等典型应用案例。同时强调了数据量控制、分批处理、错误处理等优化策略,帮助用户实现高效批量自动化。这一功能组合能将业务从单条处理升级为批量驱动,显著提升工作效率。

每日出拳老爷子的博客 454

LVGL colorwheel组件教程一(调色板)

【代码】LVGL colorwheel组件教程一(调色板)

摸鱼专家 427

ps命令在docker容器不存在

问题描述: $ docker exec -it c0 bash root@c0994264e9b8:/# which nginx /usr/sbin/nginx root@c0994264e9b8:/# ps -ef bash: ps: command not found 解决方案: 问题是该nginx镜像没有打包ps命令 使用如下命令安装 apt-get update &amp;&a...

pansanday的专栏 3万+

halcon算子翻译——connection

算子:connection(Region : ConnectedRegions : : ) 功能:分离一个区域中相连接的部分(变成多个区域)。 输入参数: Region:输入一个区域; 输出参数: ConnectedRegions: ———————————————— 版权声明:本文为优快云博主「机器人自动化控制」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/haier123888/article/details/1

haier123888的博客 4828

在Docker Debian容器中安装ps、top等命令

有些debian镜像默认没有包括进程管理相关工具,在实际使用时可能有些麻烦,如果需要也可以自己安装,使用如下命令。

qq_43183860的博客 3187

从基础到前沿:深度剖析光束整形与扫描技术

光束扫描的核心在于通过特定手段改变光束的传播方向,从而实现对目标区域的扫描。在这个过程中,振镜、声光偏转器、电光偏转器等元件发挥着关键作用。振镜是一种常见的光束扫描元件,它主要由电机、反射镜和透镜组成。当电机驱动反射镜旋转时,根据光的反射定律,反射镜会改变入射光线的反射方向。假设初始时光束垂直入射到反射镜上,当反射镜绕某一轴旋转一定角度时,光束的反射方向就会相应改变,从而实现光束在空间中的扫描。在激光打标设备中,通过控制振镜的快速摆动,能够使激光束在工件表面快速移动,完成各种图案和文字的标记。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2097

【嵌入式DIY实例ESP32篇】-步数计数器

在本项目中,我们将使用 ESP32 微控制器和博世的 BMI160 加速度计陀螺仪模块构建一款便携式计步器

视觉与物联智能 802

docker启动mysql实例之后,docker ps命令查询不到

然后docker ps 即可重新查看docker 下的mysql容器信息。2.docker ps -a 查看,发现容器是退出状态。但是紧接着使用docker ps查看没有容器。1.首先拉取mysql,创建并启动实例。

footbridge的博客 3574

4.4 直流无刷电机(BLDC):控制器硬件设计

摘要 本文详细阐述了直流无刷电机(BLDC)控制器的硬件设计要点。控制器硬件主要包括微处理器单元、功率驱动模块、信号检测电路、通信接口和电源管理模块。在微处理器选型方面,分析了ARM Cortex-M系列、DSP等架构的适用场景,并对比了不同处理器的性能参数。功率驱动模块设计重点包括栅极驱动电路、逆变桥热管理和电流保护机制。信号检测部分介绍了位置传感器接口和模拟信号调理技术。此外,还讨论了通信接口设计、电源管理方案以及硬件布局与EMC设计规范。最后强调了硬件测试验证的重要性,包括故障注入测试等验证方法。整体

技术工作者 182

Docker安装及常用命令

是官方及第三该机构提供的镱像下载仓库,如 maven 的中央仓库,把一些常用的容器打包成镜像,开发者。Docker 是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。特殊的文件系统,是对某一时刻容器关态的备份,就像 window 中 Ghost 镜像。删除所有的容器:docker rm $(docker ps -a -q)创建 Dockerfile 文件(文件名称必须是 Dockerfile)搜索可用的docker镜像:docker search NAME。

u011347171的博客 2660

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Docker安装以及一些常用命令

一,什么是Docker Docker是一个开源的应用容器引擎,是一种轻量级的容器技术。它可以将应用程序以及该程序对应的依赖打包到一个可移植的镜像中,可发布到任何流行的Linux或Windows机器上。运行镜像,就会生成一个虚拟容器,程序就在虚拟容器里运行。 运行中的镜像称为容器,容器的启动速度非常快。 二,为什么使用Docker? 容器除了运行其中的运用外,对系统资源的消耗微乎其微,使得应...

bighuan的博客 728

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

docker安装及常用命令

docker的安装及常用命令

剪刀手何金银的技术博客 1530

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Docker安装、常用命令以及常规软件安装

Docker安装、常用命令以及常规软件安装

z1171127310的博客 487

docker安装 及常用命令完整版

使用 sed 工具,修改 /etc/yum.repos.d/docker-ce.repo 文件中的内容。curl -s https://api.github.com/repos/docker/compose/releases/latest:从GitHub API获取Docker Compose的最新发布信息。-o /usr/local/bin/docker-compose:将下载的文件保存到/usr/local/bin/docker-compose。

qq_41701460的博客 1923

Docker安装部署及常用命令

• Docker 是一个开源的应用容器引擎• 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)• Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上。• 容器是完全使用沙箱机制,相互隔离• 容器性能开销极低。

各位大佬有任何问题欢迎在相应文章下一起讨论,博主会第一时间帮助大家处理相应问题~ 1164

【Docker】docker的安装和常用命令

一.docker安装和启动 1.yum 命令 yum install docker 2.docker启动命令 sudo systemctl start docker 二、docker常用命令 docker pull 获取image docker build 创建image docker images 列出image docker run 运行container d...

weixin_30871293的博客 83

Docker(安装&常用命令)

Docker(安装&常用命令)

ljfgyy0205的博客 494

Docker学习: Docker介绍和安装以及常用命令

Docker学习: Docker介绍和安装以及常用命令

LiuYQi的博客 820

Docker 快速入门:安装与常用命令详解

众所周知原因,我使用时候官网与阿里镜像等都不可用,所以提供一份镜像源地址,直接执行以下命令。请注意:这里使用sudo是因为我使用非root用户,可直接使用root用户忽略sudo。docker save -o 保存后名称 保存镜像repository+tag。docker commit -m “注释” 容器ps运行中名称 容器版本。docker netwrok create 名称。作为新手快速部署使用Docker的手册。问题或建议,请公众号[

jingleifan的博客 1082

Ubuntu20.04安装Docker以及Docker安装微信、企业微信、Docker常用命令

本文阐述了在Ubuntu系统上安装Docker,进而通过Docker安装微信、企业微信等容器,以及一些常用的简单Docker指令。

摆烂怪才 3039

Ubuntu安装 Docker安装以及docker常用命令

【代码】CentOS/Ubuntu安装 Docker安装以及docker常用命令。

weixin_49784554的博客 494
上一篇: 使用Docker安装RabbitMQ
下一篇: docker安装部署一些软件(nginx、tomcat、mysql、es)
花落 失忆
博客等级 码龄6年 33粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值