Docker 学习笔记

【Docker 学习笔记】Docker 命令大全 【Docker 学习笔记】Docker 命令大全。本文总结了Docker使用过程中常用命令,以及各命令常用参数的解释说明。 阅读详情

Docker install

一、 Docker 安装要求

  • 64位操作系统
  • 最好是3.8以上内核

二、 Cent OS 6.5 默认内核为 2.6

1. 升级内核

a) 先执行以下命令
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -ivh http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
yum -y --enablerepo=elrepo-kernel install kernel-lt
b) 修改配置文件
vim /etc/grub.conf // 将 default=1 修改为 default=0
c) reboot 重启电脑

重启后如果不出意外的话,再次查看内核,您的 CentOS 内核将会显示为 3.10

恭喜您!下面我们就一起来安装 Docker 了

附: uname -r 可以查看当前系统内核版本

三、安装 Docker

1. 通过以下命令即可安装 Docker 软件

rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install docker-io 

2. 通过以下命令查看 Docker 是否安装成功

docker version // 若输出了 Docker 的版本号,则说明安装成功了

3. 可通过以下命令启动 Docker 服务

service docker start // Docker 服务启动完毕,我们就可以使用 Docker 了

4. 好像丢掉了一句,到后边会报错

yum upgrade device-mapper-libs 

四、下载 Docker 镜像

1. 官网网址: https://www.docker.com/

五、Docker的使用

1. 测试镜像

docker run -i -t centos:6 /bin/bash

常用 docker 命令

1、docker -h 帮助
2、获取镜像
  sudo docker pull NAME[:TAG]
  sudo docker pull centos:latest
3、启动Container盒子
  sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  sudo docker run -t -i contos /bin/bash
4、查看镜像列表,列出本地的所有images
  sudo docker images [OPTIONS] [NAME]
  sudo docker images centos
5、查看容器列表,可看到我们创建过的所有container
  sudo docker ps [OPTIONS]
  sudo docker ps -a
6、删除镜像,从本地删除一个已经下载的镜像
  sudo docker rmi IMAGE [IMAGE...]
  sudo docker rmi centos:latest
7、移除一个或多个容器实例
  sudo docker rm [OPTIONS] CONTAINER [CONTAINER...]
8、移除所有未运行的容器
  sudo docker rm sudo docker ps -aq
9、停止一个正在运行的容器
  sudo docker kill [OPTIONS] CONTAINER [CONTAINNER...]
  sudo docker kill 026e
10、重启一个正在运行的容器
  sudo docker restart [OPTIONS] contains[CONTAINER]
  sudo docker restart 026e
11、停止一个已经停止的容器
  sudo docker start [OPTIONS] CONTAINER [CONTAINER..]
  sudo docker start 026e
12、进去一个已经运行的容器
  sudo docker exec -it /bin/bash
13、为镜像添加 Tag
  sudo docker tag centos:7 172.16.166.130/fsdn/centos:7
14、创建 docker 容器, 但是不运行
  sudo docker create --name maven csphere/mave:3.3.3
15、复制 docker 中的内容
  sudo docker cp maven:/hello/target/hello.war .

#

备注:

curl -SsL -o /tmp/csphere-install.sh https://csphere.cn/static/csphere-install-v2.sh
sudo env ROLE=controller CSPHERE_VERSION=1.0.1 /bin/sh /tmp/csphere-install.sh

—————————————

希云教程笔记

第一讲 Docker 实战之入门以及 Dockerfile

$ docker build -t registry_url/namespace/csphere/centos:7.1 ./path # 7.1为标签,如果不指定标签默认添加 latest

$ supervisorctl # 查看当前容器运行状态

ENTRYPOINT 与 CMD 的区别

  1. ENTRYPOINT[“executable”,”param1”,”param2”](the preferred exec form)
  2. ENTRYPOINT command param1 param2(shell form)
  3. docker run -it –entrypoint= 覆盖 Dockerfile ENTRYPOINT []

  4. CMD[“executable”,”param1”,”param2”]

  5. CMD[“param1”,”param2”] (为 ENTRYPOINT 提供默认参数值)
  6. CMD command param1 param2
  • 区别一
    CMD命令会被 docker run 后边的指令所覆盖掉, 而 ENTRYPOINT 不会。
    ENTRYPOINT 会被 docker run -it –entrypoint= 覆盖

第二讲 Docker 实战之 Registry 以及持续集成

1. Registry

Docker镜像命名规则

registry_url/csphere/csphere:latest
本机地址 + 端口号/目录/镜像名称:版本号

# 首先 pull 一个registry 镜像到本地
docker run -d -p 5000:5000 --name registry registry:0.9.1 # registry 默认端口为 5000
# 在这里需要配置一个csphere
docker tag centos:6 172.16.166.130:5000/fsdn/centos:6
docker push 172.16.166.130:5000/fsdn/centos:6

2. 持续集成 – jenkins

docker run -d -p 8080:8080 --name jenkins \
  -v /usr/bin/docker:/usr/bin/docker \
  -v /var/run/docker.sock:/var/run/docker.sock \
  -v /root/maven-tar:/root csphere/jenkins:1.609
# 注: /usr/bin/docker 的二进制文件 第三个 -v 可选
docker exec -it jenins /bin/bash

# 到 jenkins 中添加构建步骤 Execute shell
docker build -t fsdn/centos:6 $WORKSPACE/php-fpm # $WORKSPACE/php-fpm 是 Dockerfile 所在目录

java项目

手动部分

# 构建 Maven 镜像
cp /apache-maven-3.3.3-bin.tar.gz ./maven # 复制 maven 文件到 Docker file 文件目录下,也可以在 Dockerfile 中指定地址下载
docker build -t csphere/maven:3.3.3 .
docker create --name maven csphere/mave:3.3.3

# 复制源代码,并且构建镜像
docker cp maven:/hello/target/hello.war .
docker build -t csphere/hello:1.0 .

# 启动 db 容器
docker run -d -p 3306:3306 --name mysql csphere/mysql:5.5

# -e DB_HOST 域名
docker run -d -p 80:8080 --name hello csphere/hello:1.0

# 此时, 外网就可以访问项目了

自动部分

# 配置 jenkins
# 1. 构建触发器 (目的: 监听代码仓库代码变化)
#  身份验证令牌 自己起名字 eg: java-token

# 2. 增加 构建 shell
REGISTRY_URL=172.16.166.130:5000

# 构建 Maven 镜像
cp /root/apache-maven-3.3.3-bin.tar.gz $WORKSPACE/maven
docker build -t csphere/maven:3.3.3 $WORKSPACE/maven
if docker ps -a | grep -i maven ; then
  docker rm -f maven
fi
docker create --name maven csphere/maven:3.3.3

# 复制源代码,并且构建镜像, 并且将该镜像 push 到 registry 库中
docker cp maven:/hello/target/hello.war $WORKSPACE/hello
docker build -t $REGISTRY_URL/csphere/hello:1.0 $WORKSPACE/hello
docker push $REGISTRY_URL/csphere/hello:1.0

# 运行容器
if docker ps -a | grep -i hello; then
  docker rm -f hello
fi
docker run -d -p 80:8080 --name hello $REGISTRY_URL/csphere/hello:1.0

# 此时, 等待 jenkins 编译完成之后, 外网就可以访问项目了

第三讲 Docker 实战之监控报警以及日志管理

1. 监控报警

# 启动数据库容器
docker run -d -p 3306:3306 --name mysql csphere/mysql:5.5

# 创建 WordPress 容器
docker run -d -p 80:80 --name wordpress \
  -e WORDPRESS_DB_HOST=172.16.166.130 # 传入环境变量 \
  -e WORDPRESS_DB_USER=root # 传入环境变量 \
  -e WORDPRESS_DB_PASSWORD=3258 # 传入环境变量

2. 日志管理

# 方案

# Logstash              管理日志和事件
# Elasticsearch         分布式的搜索分析系统
# Kibana                可视化日志和数据系统
# Logstash-forwarder    转发日志 --> Logstash

# 参考: http://github.com/spujadas/elk-docker

第四讲 Docker 实战之网络管理

docker 网络模式

  1. NAT (Network Address Translation)
    iptables -t nat -L -n # 查看iptables nat 规则
    route -n # 查看路由表

  2. Host

  3. Other container

  4. None

  5. Overlay

    1. 利用 consul 集群

    2. docker service test-bright

第五讲 Docker 实战之持续部署以及弹性伸缩

1. Docker compose 一键发布应用

# 服务编排工具

# 结合 Swarm, 分布式部署应用

# 动态改变应用, 扩展

# 重要文件 docker-compose.yml

docker-compose up -d # 执行此命令进行发布

2. Docker Swarm 集群管理

# Swarm 服务发现

# Swarm scheduler (Swarm 调度)
1. Filter
# 1. Constraint(约束)
# 2. Affinity(亲和性)
# 3. Port(端口)
# 4. Dependency(依赖)
# 5. Health(健康)
2. Weigh – 权重
# 1. Spread(最少)
# 2. Binpack(最多)
# 3. Random(随机)
3. 创建 Swarm 集群
# 1. 创建集群token(discovery service)
docker create csphere/mysql:5.5 # 创建一个容器ID

# 定义 Docker1 主机所属角色
docker run -d -p 2376:2375 swarm manage token://xxxx

# 2. 加入 Swarm 集群
docker run -d swarm join --addr=<node_ip>:<port> token://xxxx

docker -H <mater_ip>:2376 info

# 3. 在 master 节点操作 slaver 节点
docker -H <slaver_ip>:2376 run -it --name busybox \
-e constraint:label_name==doker2 busybox # constraint 为调度策略

第六讲 Docker 实战之存储

Docker 支持的 graphdriver

aufs(ubantu) – 联合文件系统
btrfs(CoreOS)
devicemapper(RedHat, CentOS)
overlayfs(CoreOS)

【VisualStdio】手把手教你做一个上位机(1)控件设计布局 网上有很多形形色色的制作上位机教程,有些写的挺好的,但是过于单调。 阅读详情

相关推荐

ESP32-S3数字麦克风入门:手把手教你用Arduino IDE读取MSM261S4030H0R的I2S数据

本文详细介绍了如何使用Arduino IDE读取MSM261S4030H0R数字麦克风的I2S数据,涵盖硬件连接、代码编写和数据可视化全流程。重点解决I2S引脚配置、环境噪声过滤和声波观察等实际问题,适合ESP32-S3开发者快速上手数字麦克风应用。

weixin_26742753的博客 318

安装Docker详细步骤总结

一、安装Docker ♦️ 1.下载关于Docker的依赖环境 在Xterm中输入以下代码安装依赖环境 回车 yum -y install yum-utils device-mapper-persistent-datalvm2 使用yum工具下载 yum是软件包管理工具 通过 执行 man yum 可以查看yum的帮助信息 ♦️2.设置一下下载Docker的镜像源 依赖环境下载完毕以后,设置下载的镜像源,如果不设置,会默认去Docker的官方下载,但是官方的服务器在国外,下载会比较缓慢,设置下载国内的镜

哈哈 13万+

平衡小车动力学建模

两轮自平衡小车由车体和双轮两部分组成,可以看成一个移动的倒立摆,分别对车轮和车体进行力学分析,建立动力学模型,最后,通过对两者的分析给出系统的状态空间表达式。[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kjiPEUVJ-1679470559950)(C:\Users\DELL\AppData\Roaming\Typora\typora-user-images\image-20230322110521545.png)]

qq_23096319的博客 9056

Docker安装与使用

docker 安装 使用 创建mysql主从数据库 redis三主三从 笔记

张楠的博客 1190

Ansys Lumerical FDTD硬件配置避坑指南:从RTX 4090到A100的GPU选择实战

本文针对Ansys Lumerical FDTD仿真计算,深入分析了从消费级RTX 4090到专业级A100的GPU硬件配置选择。文章指出,选择的关键在于显存容量能否容纳仿真模型,并对比了二者在显存、双精度算力及多卡扩展性上的核心差异,为不同预算和仿真规模的用户提供了实战避坑指南与配置建议。

weixin_29196891的博客 273

基于ESP32-C3的物联网硬件设计:从免费工具链到PCB打样全流程实战

在物联网和嵌入式开发领域,硬件设计是连接软件逻辑与物理世界的关键环节。其核心原理在于通过电路设计将微控制器、传感器、通信模块等电子元件有机整合,实现特定功能。掌握硬件设计能力的技术价值在于能够自主实现产品原型,优化成本与性能,并深入理解系统底层运作。常见的应用场景包括智能家居节点、环境监测设备、工业传感终端等。本文以热门的ESP32-C3 RISC-V物联网芯片和广泛使用的KiCad免费EDA工具为例,详细解析了从核心器件选型、射频电路布局、PCB设计规则到Gerber文件生产的完整流程,并分享了在嘉立创平

weixin_30918633的博客 333

推荐:Docker 快速安装脚本——docker/docker-install

在当今的软件开发环境中,Docker 已经成为了容器化应用的标准工具,而 `docker/docker-install` 则是 Docker 公司提供的一款用于快速安装最新 Docker CE(社区版)的脚本。无论您是一位新手开发者还是经验丰富的系统管理员,这个项目都能帮助您在支持的 Linux 发行版上轻松部署 Docker。 ## 项目介绍 `docker/docker-install` ...

gitblog_00070的博客 789

SAP-ML章<<<<第二节:物料账报错处理ABAP编程错误:RAISE_EXCEPTION>>>>

#SAP-ML章<<<<第一节:物料账报错处理ABAP编程错误:RAISE_EXCEPTION>>>> 1.物料账报错提示: ABAP编程错误:RAISE_EXCEPTION ABAP程序:SAPLFCML4H_RUN_PRICES应用组件CO-PC-ACT 2. 物料账报错背景: CKMLCP运行结算时 3. 解决方案: 通过DEBUG查看错误的地方 OKTZ:分析原因为:可能打包或者配置传输时弄错 ...

SAP.David.Gao的博客 1858

【亲测免费】 推荐开源项目:Docker-Install —— 快速部署Docker的利器

在快速发展的云计算领域,Docker作为轻量级容器化技术的代表,已经广泛应用于各类开发和部署场景。为了简化Docker的安装过程,Docker公司推出了[docker/docker-install](https://github.com/docker/docker-install)项目,一个便捷的脚本工具,让你一键安装最新版本的Docker CE(Community Edition)。 ## 项...

gitblog_00148的博客 777

保研考研机试攻略:第一章——从零开始

🧊保研考研机试攻略:第一章——从零开始

qq_63349644的博客 1321

CVE-2021-3156本地提权漏洞复现

受影响版本 sudo: 1.8.2 - 1.8.31p2 sudo: 1.9.0 - 1.9.5p1 测试 我这里是在本地centos7上进行测试。 需要目标机器上存在python编译器、目标主机出网或者能上传文件到目标主机。 以非root用户登录系统,并运行如下命令: sudoedit -s / 通常响应一个以 sudoedit: / 开头的报错,多半存在漏洞。 利用 提权脚本: https://www.o2oxy.cn/wp-content/uploa

The current road is different, love needs to distinguish between right and wrong 3782

Docker安装及基本命令

之后使用docker build可以构建我们需要的镜像,建议在构建前就将需要的包安装进基础镜像,减少后续等待时间,同时我们可以用docker tag来对镜像打版本操作,利用docker commit来对容器进行打包,只是commitcommit操作不仅会把有用的修改保存下来,对一些无关的修改也会保存下来(每一个命令行操作都会生成存储如ls操作)就会导致镜像比较臃肿,而且docker commit属于黑箱操作,不利于后续的问题排查,所以尽量使用dockerfile替代docker commit.

UNknowmer的博客 1008

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

【docker】docker学习笔记

docker学习笔记

weixin_43308380的博客 1361

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

Docker学习笔记

一般情况下,ENTRYPOINT 和 CMD 标签都是互相配合使用的,即:ENTRYPOINT 填写固定的命令,CMD 填写该固定命令对应的参数,CMD 将这个参数传递给 ENTRYPOINT命令。可以理解为 CMD 参数为 ENTRYPOINT 的默认值,如果项目中使用的不是 CMD 的默认值,就可以在启动 docker 容器时添加上真实的参数值,用来覆盖 CMD 的默认值。这个 FROM 指令是 dockerfile 的第一个指令,然后指定了基础镜像,后面的所有指令都是运行在该基础镜像环境上的。

Wu 小杰的博客 2091

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Docker的学习笔记

网上关于docker的介绍很多,要不就是讲的很底层,要不就是不连贯,能把知识穿起来的我没找到,所以最后还是自己写个笔记,方便以后回顾。对于笔记的学习,还是看不太进去,准备找一些视频介绍进行学习。

qq_55728814的博客 1686

docker学习笔记

学习网址 # 获取镜像 docker pull ubuntu:18.04 # 列出已经下载的镜像(-a显示中间层) docker image ls [-a] # 列出悬虚镜像(-f为过滤器) docker image ls -f dangling=true # 列出id docker image ls -q # 输出后台运行结果 docker container logs 容器名字 # 容器列出 docker container ls [-a] docker container ls --no-trun

superprintf的博客 223

Docker学习笔记索引

Docker学习笔记 ->环境与背景篇->1、容器技术 Docker学习笔记 ->环境与背景篇->2、docker简介 Docker学习笔记 ->环境与背景篇->3、安装docker(ubuntu ) Docker学习笔记 ->环境与背景篇->3、安装docker(CentOS7 ) Docker学习笔记 ->环境与背景篇->3、安装d...

外环西路 591

Docker学习笔记这一篇就够

​ Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行环境能够做到“一次镜像,处处运行”。​ Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这就实现了跨平台、跨服务器。

weixin_45501045的博客 1063

Docker 完整学习笔记

记录docker的学习过程

dandingchongci的博客 1281

狂神Docker学习笔记下载

狂神Docker学习笔记下载 去发现同类优质开源项目:https://gitcode.com/ 本仓库提供了一个名为“狂神Docker学习笔记.pdf”的资源文件下载。该文件是学习Docker时整理的学习笔记,内容详实,适合初学者和进阶学习者参考。 资源文件描述 文件名: 狂神Docker学习笔记.pdf 文件类型: PDF 文件大小: [文件大小] 内容概述: 该PDF文件包含了Docker的...

gitblog_06644的博客 424
上一篇: JAVA 注释格式
下一篇: JVM调优
Raybor
博客等级 码龄12年 29粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值