当前位置: 首页 > article >正文

docker-速通

1.命令-镜像操作

docker pull nginx  #下载最新版
docker pull nginx:1.20.1  #下载指定版本 镜像名:版本名(标签) 
docker images  #查看所有镜像  
# 如果只写镜像名实际就是redis = redis:latest   记住这个不是命令
docker rmi 镜像名:版本号/镜像id   #删除指定版本的镜像

2.命令-获取所有帮助

docker run --help
Docker run --help |grep --restart   #查找restart命令

3.命令-容器操作

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
【docker run  设置项   镜像名  】 镜像启动运行的命令(镜像里面默认有的,一般不会写)
#-d:后台运行
#--restart=always: 开机自启  主机88端口映射到容器的80端口  
#本地主机访问在浏览器里面输入 127.0.0.1:88
#运维的时候一定要在安全组端口放行  外部ip才能访问本地的端口 
docker run --name=mynginx   -d  --restart=always -p  88:80 nginx
#查看正在运行的容器
docker ps
#查看所有容器
docker ps -a
#删除停止的容器
docker rm  容器id/名字
docker rm -f  mynginx   #强制删除正在运行中的
#停止容器
docker stop 容器id/名字
#再次启动
docker start 容器id/名字
#应用开机自启
docker update 容器id/名字 --restart=always
#应用开机自启  update不能修改端口映射  可以把该容器删了
docker update 容器id/名字 --restart=always

3.命令-进入容器修改

# 进入容器内部的系统,修改容器内容   /bin/bash或者/bin/sh(有些时候bash没有用  就
#使用sh) 代表进入容器内部的一个文件
# ngnix本质就是小型的linux 其他以此类推
docker exec -it 容器id  /bin/bash   #进入容器内部

下面是演示进入容器内部修改文件
在这里插入图片描述

exit    #退出容器内部

在这里插入图片描述

4.命令-提交改变

#加入容器已经完成部署和修改 为了避免下次再次部署该容器  可以直接使用该容器制作成一个镜像   下次需要使用的时候再次将该镜像启动成容器
#redis镜像--->myredis容器--->gstredis镜像--->mygst容器 
docker commit --help  #获取提交帮助 
#如果一个容器发生了变化 但是万一他不存在了  怎么?
#这时候可以把这个容器进行提交  然后进行保存  进而做到
#docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
#上面的341d81f7504f 为容器id  guignginx为自己命名的镜像名称 
# v1为自己定义的版本 -m "首页变化"为提示的信息 -a  "gst"为作者的名称  
#341d81f7504f 为容器的id, gstnginx:v1.0自己指定的镜像名称和版本号
docker commit -a "gst"  -m "首页变化" 341d81f7504f   gstnginx:v1.0

5.命令-镜像保存(先命令-提交改变)

docker   save  --help   #获取保存命令
# 将镜像保存成压缩包   guignginx镜像名称(自己将容器变成一个属于自己的镜像)  #abc.tar自定名称
docker save -o abc.tar guignginx:v1.0 

在这里插入图片描述

6.命令-镜像传输

#把当前镜像传输给另外的ip 
scp abc.tar  root@ip地址:/root/  #将当前环境文件传输给其他主机 
# 别的机器加载这个镜像
docker load -i abc.tar

7.挂载数据到外部修改

docker run --name=mynginx   \
-d  --restart=always \
-p  88:80 -v /data/html:/usr/share/nginx/html:ro  \
nginx
#修改页面只需要去主机的 /data/html 文件夹里面
# \可以去掉 主要是linux环境一行不好直观使用了\

其他命令

docker stop   ##停止所有容器
docker container prune   删除所有停止的容器
docker exec -it mysqlgst bash  #进入容器
mysql -u root -p   #进入数据库
docker inspect 容器名称 #查看容器ip地址
docker exec -it 容器名称 ip addr  #查看容器ip地址

启动linux案例

# 如何进入linux容器内部
docker run -itd -p 50022:22 --name my_centos7 --privileged=true centos:centos7 /usr/sbin/init 
# /usr/sbin/init 是一个Docker命令,用于在CentOS容器中运行一个后台进程。
#让我们逐个解释命令中的每个部分的含义:
 #- `docker run`是用于创建和启动一个新的容器的命令。
 #- `-itd`是命令中的选项和标志:
  #- `-i`表示交互模式,允许用户与容器进行交互。
 # - `-t`表示终端模式,为容器分配一个伪终端。
  #- `-d`表示以后台(守护进程)模式运行容器,使容器在后台运行。
#- `-p 50022:22`是端口映射的选项,将主机的50022端口映射到容器的22端口。
 # - 这样可以通过主机的50022端口访问容器内SSH服务器。
#- `--name my_centos7`是指定容器的名称为"my_centos7"。
#- `--privileged=true`是在容器内部启用特权模式。
 # - 特权模式给容器提供了对主机系统的完全访问权限,这样容器内的进程就可以执行一些需要特权的操作。
#- `centos:centos7`是指定基础镜像,这里使用的是CentOS 7的官方镜像。
#- `/usr/sbin/init`是容器内的初始化进程。这个可以省略
#  - 在CentOS中,`/usr/sbin/init`是系统的初始化进程,负责启动其他进程和服务。

http://www.kler.cn/news/155113.html

相关文章:

  • Django大回顾 -3 之响应对象、cbv和fbv、关于类中self是谁的问题、上传文件、模版
  • 引用计数 Rc 数据类型
  • 【Python百宝箱】分布式魔法:穿越分布式奇境的导航
  • 深度学习——第1章 深度学习的概念及神经网络的工作原理
  • LeetCode 1423. 可获得的最大点数:滑动窗口
  • 智加科技获全国首张重卡无人驾驶开放道路测试牌照
  • RabbitMQ架构是什么样的
  • 【SpringBoot】讲清楚日志文件lombok
  • Hdoop学习笔记(HDP)-Part.09 安装OpenLDAP
  • mongodb查询数据库集合的基础命令
  • 学习Java第57天,Servlet的基本使用步骤
  • PTA结构体经典编程题
  • Android studio Load error:undefined path variables
  • ARM架构安全简介
  • 数据链路层之VLAN基本概念和基本原理
  • springboot 整合 RocketMQ 可用于物联网,电商高并发场景下削峰,保证系统的高可用
  • HarmonyOS应用开发——程序框架UIAbility、启动模式与路由跳转
  • 鸿蒙绘制折线图基金走势图
  • 一缕青丝寄相思
  • 万宾科技第四代可燃气体监测仪的作用
  • C-语言每日刷题
  • 测试类运行失败:TestEngine with ID ‘junit-jupiter‘ failed to discover tests
  • docker+jmeter+influxdb+granfana
  • 力扣labuladong一刷day25天
  • MacDroid Pro for Mac – 安卓设备文件传输助手,实现无缝连接与传输!
  • 整数分频,奇偶分频。
  • 【BVITS2】配置debug记录——Bert-VITS2-Integration-Pack-v2.0.2
  • 第十节HarmonyOS 使用资源引用类型
  • 在 TypeScript 中,interface、implements 和 extends 的作用
  • WT2003H语音芯片系列:通过bin文件实现板载语音更新,支持宽范围音频码率