Docker基本操作学习

news/2024/9/24 1:25:24/

基本指令

docker_1">docker服务启动:

service docker start
service docker restart
service docker stop# 重启服务器自动运行docker
systemctl enable docker

镜像生成方式:

通过docker build DockerFile…
生成镜像

镜像相关指令:

docker push 仓库
# 如何获取:
docker pull 仓库
# 查找:
docker search 仓库# docker查看有所有的镜像:
docker images# 查看这个docker的详细信息:
docker inspect xxx# 删除某个镜像:
docker rmi xxx

从镜像中创建一个容器:
docker run/exec/attach xxx
-it 可视化操作 --name设置容器名字 bash(运行命令行)
-p 映射端口 9000:8080 (将容器里的8080端口 映射到宿主机的9000端口上)

# 暂停某个容器:
docker pause node1
# 开启某个容器:
docker start node1
# 查看所有容器:
docker ps
# 删除某个容器:
docker rm node1

容器相关指令

# 通过容器保存成镜像:
docker commit 
# (适用于无状态服务)【谨慎使用】
# 退出时删除容器
docker run --rm xxx# 并且运行如果失败时 也会自动删除容器
# 运行时 当你使用停止时 他会自动删除该容器# 重启容器策略
# 默认不重启: no
# on-failure:3 最多重试3次重启
# always 只要挂了自动重启
# --restart on-failure:3# 运行时指定环境变量
docker run xxx -p -d -e XXX=xx -e XXX=xx# 查看环境变量的方式
docker inspect xxx# 再容器中运行一个终端 执行env命令 
docker exec -it xxx env# 查看容器内的日志 (-f 实时监听日志变化 -n只查看最后20行)
docker logs xxx  -f  -n 20# 进入容器内部中(使用bash脚本进入xx容器中)
docker exec -it nginx01 /bin/bash  xxx
# 退出容器
exit 

进阶:

数据卷:

打通容器内跟容器外的数据 持久化数据存储 即便容器被删除了。也可以保留(匿名绑定方式除外) 像mysql redis这种需要持久化数据的
可以使用volume达到持久化共享数据

匿名绑定:【使用 -v 可以指定对应容器内的共享命令】 如果容器被删除后 对应的匿名容器共享的volume也会被删除

docker run -d --rm -p 80:80 --name nginx01 -v /usr/share/nginx/html nginxdocker inspect xxx

查看Mounts属性 可以看出你是否共享成功数据卷

具名绑定:
docker run -d --rm -p 80:80 --name nginx01 -v nginx-html:/usr/share/nginx/html nginx
# 此处的nginx-html就代表具名绑定 不过具名绑定的缺点是无法指定容器外的路径
Bind Mount【工作中常用的方式】:

即便docker被卸载了他也可以存在
把主机的目录共享到容器内的目录

docker run -d --rm -p 80:80 --name nginx01 -v /www/ragga.com:/usr/share/nginx/html nginx
数据卷管理

docker volume ls

网络NetWork

Bridge(默认模式)

Docker0 docker的网卡 - docker创建的虚拟网桥 跟主机的网卡平级

Host模式:

容器内网络跟主机网络共享同一个网卡(直接将容器暴露到外网)【不常用】【不安全】

None模式:

等于是只有容器本地的网络127.0.0.1 没有ip 完全网络隔离
Container算是一种解决方案
不会创建自己的网络空间 与其他容器共享网络空间 直接使用指定容器的ip/端口等

自定义网络模式:【推荐】

不使用docker自带的网络模式 自己定制化特有的网络模式

容器间的互联指令
–link 在运行时加上(不常用)

** => docker network connect ragga net1
为net1添加一个ragga的网卡


http://www.ppmy.cn/news/1433837.html

相关文章

【抽代复习笔记】14-群(八):变换群中的旋转、位似、平移变换群

定理1:集合A上的所有一一变换的集合G关于变换的乘法(复合)作成群。 证:首先,恒等变换ɛ:A→A(ɛ(x) x)是集合A上的一一变换,所以ɛ∈G,即G≠∅; ①对任意的f,g∈G,由映…

深度学习基础——卷积神经网络的基础模块

深度学习基础——卷积神经网络的基础模块 卷积神经网络(Convolutional Neural Networks,CNN)是深度学习中一种非常重要的神经网络结构,它在图像识别、图像分类、目标检测等领域取得了巨大成功。本文将介绍卷积神经网络的几个基础…

直面盲人出行挑战:实时避障系统安全性能为独立出行保驾护航

作为一名资深记者,我长期关注并报道特殊群体在社会生活中所面临的种种问题与挑战。其中,盲人出行的困难尤为引人关注。然而,科技的力量正以一种潜移默化的方式,为解决这一难题提供新的可能性。 实时避障系统安全性能这一词汇所涵…

Vue的列表渲染和双向绑定(初学vue之v-for以及v-model)

目录 一、列表渲染(v-for)介绍: 1.概念 2.好处 3.作用 4.应用 5.用法 二、双向绑定(v-model)介绍: 1.概念 2.好处 3.作用 4.应用 5.用法 三、v-for和v-model具体用法 1.v-for的基本使用 2.v…

HTB Runner

Runner User Nmap ──(root㉿kali)-[/home/…/machine/SeasonV/linux/Runner] └─# nmap -A runner.htb -T 4 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-22 23:07 EDT Stats: 0:00:01 elapsed; 0 hosts completed (1 up), 1 undergoing SYN Stealth Sca…

prompt提示工程

一、什么是提示工程(Prompt Engineering) 提示工程也叫「指令工程」。 Prompt 就是你发给大模型的指令,比如「讲个笑话」、「用 Python 编个贪吃蛇游戏」、「给男/女朋友写封情书」等貌似简单,但意义非凡 「Prompt」 是 AGI 时代…

【触想智能】安卓工业平板电脑选购注意事项以及安装方式分析

安卓工业平板电脑在智能制造、工厂产线、商业自助终端、物流交通领域应用非常广泛,比如工厂产线上的工位机、物流快递取件柜、自助售卖机等都可以看到它们的身影。 我们在买安卓工业平板电脑的时候需要注意哪些问题,安卓工业平板电脑又有哪几种安装方式&…

LeetCode 42. 接雨水 - PHP

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 左右两边是漏的,就是第一个柱子和最后一个柱子不接雨水。 暴力递归 class Solution {/*** param Integer[] $height* return Integer*/functi…