linux 操作docker的基本命令docker仓库

基本操作命令

docker run --name=test-host -itd centos7.6 /bin/bash  通过镜像创建容器

登录容器

[root@docker101 ~]# docker exec -it test-host /bin/bash  (exec是执行,i是交互式。t叫tty)

或者container id

[root@docker101 ~]# docker exec -it 0d371349d2ef /bin/bash

docker search 172.16.8.100:5000/centos 查询服务器镜像

docker pull 172.16.8.100:5000/centos7 拉去服务器镜像

docker  images   查询本地镜像

docker tag 修改镜像名称

[root@docker ~]# docker inspect nginx   获取镜像的元数据

docker push 上传数据

docker rmi 删除镜像

docker  run  --name=web1  -d  nginx    运行容器

只显示运行中容器

 docker ps

显示所有容器

 docker ps --all

docker  stop  web1  (容器名字)

docker  start   web1    (启动容器)

docker  pause  web1(容器名字)     挂起web1

docker   kill   web 1  (容器名字)    杀死web1

 docker rm   web  (容器运行状态删不掉)    docker rm -f  web  (强制删除)

 docker仓库

Registry Server

服务端(仓库端): 10.0.0.103

[root@docker103 ~]# docker pull registry   (下载仓库)

[root@docker103 ~]# docker run --name registry_server -d -p 5000:5000 registry (运行仓库指定端口)

客户端:

docker软件安装

[root@docker101 ~]# vim /usr/lib/systemd/system/docker.service

[Service]

Type=notify

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker

ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock --insecure-registry 10.0.0.103:5000    信任本地的仓库,免验证

重启服务     xiiu改完了,要重新加载启动一些服务

[root@docker101 ~]# systemctl daemon-reload

[root@docker101 ~]# systemctl restart docker

修改需要上传镜像名称:

[root@docker101 ~]# docker images

REPOSITORY TAG IMAGE ID CREATED SIZE robinround/centos7.6 latest 0429a3daccd0 13 months ago 433MB vitotp/centos7.6 latest 0429a3daccd0 13 months ago 433MB

修改标签

[root@docker101 ~]# docker tag vitotp/centos7.6 10.0.0.103:5000/centos7.6

上传

[root@docker101 ~]# docker push 10.0.0.103:5000/centos7.6

doocker  仓库里的镜像下载方法  

查询私有仓库内的镜像     

[root@docker102 ~]# curl -XGET http://10.0.0.103:5000/v2/_catalog

{"repositories":["centos7.6"]}

查询标签列表

[root@docker102 ~]# curl -XGET http://10.0.0.103:5000/v2/centos7.6/tags/list

{"name":"centos7.6","tags":["latest"]}

docker  pull 10.0.0.103:5000/centos:7.6    下载docker仓库里的centos

harbor

harbor的部署

更换华为yum安装源

[root@master ~]# mkdir /etc/yum.repos.d/old

[root@master ~]# mv /etc/yum.repos.d/* /etc/yum.repos.d/old/

[root@master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.huaweicloud.com/repository/conf/CentOS-7-anon.repo

[root@master ~]# yum makecache fast

安装扩展源

[root@master ~]# yum install epel-release.noarch

安装docker-ce源

[root@master ~]# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.huaweicloud.com/docker-ce/linux/centos/docker-ce.repo

[root@master ~]# yum install docker-ce

[root@master ~]# yum install docker-compose

启动docker

[root@master ~]# systemctl restart docker

 

安装harbor

https://github.com/vmware/harbor/releases

安装有两种方式,一种是off-line ,一种是on-line,即离线和在线安装,离线安装需要下载的安装包较大,在线安装下载的安装包很小,可以根据自己的情况选择,我选择的是harbor-online-installer-v2.0.0.tgz 版本

[root@master ~]# tar -xvf harbor-online-installer-v2.0.0.tgz;cd harbor/

拷贝配置文件

[root@master harbor]# cp harbor.yml.tmpl harbor.yml

配置https:harbor默认工作方式是http,但是这只能在页面访问,默认harbor推送拉取镜像时走的是https,所以需要配置下https。

1.需要的文件:

1. master.crt:服务器端的证书文件

2. master.key:服务器端的秘钥

3. ca.crt:客户端的证书文件

2.生成ca秘钥和自签名ca证书:

[root@master harbor]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout ca.key -x509 -days 365 -out ca.crt

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:BJ

Locality Name (eg, city) [Default City]:BJ

Organization Name (eg, company) [Default Company Ltd]:EAST

Organizational Unit Name (eg, section) []:IT

Common Name (eg, your name or your server's hostname) []:master.com

Email Address []:

3.生成证书签名请求(域名访问,就把common name的值写为域名):

[root@master harbor]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout master.com.key -out master.com.csr

-----

Country Name (2 letter code) [XX]:CN

State or Province Name (full name) []:BJ

Locality Name (eg, city) [Default City]:BJ

Organization Name (eg, company) [Default Company Ltd]:EAST

Organizational Unit Name (eg, section) []:IT

Common Name (eg, your name or your server's hostname) []:master.com

Email Address []:

Please enter the following 'extra' attributes

to be sent with your certificate request

A challenge password []:

An optional company name []:

4.生成证书

[root@master harbor]# openssl x509 -req -days 365 -in master.com.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out master.com.crt

Signature ok

subject=/C=CN/ST=BJ/L=BJ/O=EAST/OU=IT/CN=master.com

Getting CA Private Key

5.将harbor目录移动到/etc下

[root@master ~]# cp -r /root/harbor /etc/

6.配置证书和私钥文件位置

[root@master ~]# vim /etc/harbor/harbor.yml

7.执行install.sh安装harbor

[root@master ~]# /etc/harbor/install.sh

成功后:

? ----Harbor has been installed and started successfully.----

8.

访问:https://192.168.0.200/harbor

置下host,打开浏览器就可以用https访问了

默认账号是 admin 密码 Harbor12345

9.docker登录

首先配置host,然后在 /etc/docker/certs.d目录下创建目录,目录名称就是配置的hostname。然后将客户端证书放入该目录即可。

[root@master ~]# mkdir -p /etc/docker/certs.d/master.com

[root@master ~]# cp /etc/harbor/ca.crt /etc/docker/certs.d/master.com

[root@master ~]# docker login master.com

Username: admin

Password: Harbor12345

WARNING! Your password will be stored unencrypted in /root/.docker/config.json.

Configure a credential helper to remove this warning. See

docker login | Docker Docs

Login Succeeded

10.docker推送镜像:

登录harbor,可以看到有一个预置的项目,library。

11.测试推送

[root@master ~]# docker pull lanvv/centos7.5-yum

[root@master ~]# docker tag lanvv/centos7.5-yum master.com/library/centos7.5

[root@master ~]# docker push master.com/library/centos7.5

The push refers to repository [master.com/library/centos7.5]

214ee3fcbf95: Pushed

1d31b5806ba4: Pushed

latest: digest: sha256:8b6ce104f680f69dd67443068fd92d1692e8eb707d80dbefdff7232570aa907d size: 737

已上传成功

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/87077.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/87077.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Netty学习路线图 - 第四阶段:Netty基础应用

Netty学习路线图 - 第四阶段:Netty基础应用 📚 Netty学习系列之四 本文是Netty学习路线的第四篇,我们将用大白话讲解Netty的基础应用,带你从理论走向实践。 写在前面 大家好!在前面三篇文章中,我们学习了J…

开源项目推荐:MCP Registry——管理MCP服务器的利器

探索MCP Registry:未来模型上下文协议的核心注册服务 随着人工智能技术的迅速发展,机器学习模型的管理和配置变得愈发重要。今天,我们将探索一个颇具潜力的开源项目——MCP Registry。这是一个由社区驱动的注册服务,专为模型上下文协议(Model Context Protocol,简称MCP)…

Spring Boot 统一功能处理:拦截器详解

一、拦截器核心概念 作用:拦截器是 Spring 框架提供的核心功能,用于在请求处理前后执行预定义逻辑,实现统一处理(如登录校验、日志记录等)。 核心方法: public class LoginInterceptor implements Handl…

在docker容器中安装docker服务,基于fuse-overlayfs进行overlay挂载,而不是vfs

1、docker 安装 正常安装docker软件,运行docker时,会提示:No docker socket 服务 2、启动docker服务(包含守护进程) systemctl start docker #dockerd &if ! ps aux | grep -v grep | grep -q "dockerd&qu…

虚拟机配置注意事项

一.VM大部分产品免费,遇到付费的要斟酌一下 在小编之前的文章中有简单下载VM的教程VMwareWorkstPro安装-CSDN博客 二.配置过程中的设置大部分都可以在配置完成后更改 例如下图设备所涉及到的,都是可以更改设置的 三.电脑关机时,要注意先把…

openGL+QT快速学习和入门案列

openGLQT快速学习和入门案列

深度学习03 人工神经网络ANN

什么是神经网络 人工神经网络( Artificial Neural Network, 简写为ANN)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的计算模型,人脑可以看做是一个生物神经网络,由众多的神经元连接而成.各个神经元传递复…

Linux中部署Jenkins保姆间教程

本文将以docker的方式,讲述如何部署Jenkins 一、拉取Jenkins镜像 1.1 最新版Jenkins介绍 最新版Jenkins地址:Download and deploy 当前最新版的如下图所示: 1.2 各版本支持的JDK版本 地址如下:Java Support Policy 如果你安装…

【软考中级·软件评测师】下午题·面向对象测试之架构考点全析:分层、分布式、微内核与事件驱动

一、分层架构:分层独立与质量特性的双向约束 分层架构通过“垂直分层(表示层→服务层→业务逻辑层→数据层)”实现职责隔离,是Web应用、企业级系统的主流架构模式。 1. 父类成员函数重测场景 子类继承父类时,若父类…

C++ 快速回顾(五)

C 快速回顾(五) 前言一、Dll和Lib的区别区别在开发中使用 二、封装并使用C库1.封装库2.使用库 三、封装并使用C库1.封装库2.使用库 前言 用于快速回顾之前遗漏或者补充C知识 一、Dll和Lib的区别 静态库(LIB)在编译时链接&#…

【ARM】解决ArmDS的工程没有生成Map文件的问题

1、 文档目标 在嵌入式开发过程中,使用Arm Development Studio(简称ArmDS)进行项目构建时,Map文件的生成是调试和分析代码的重要环节。Map文件不仅记录了程序中各个段(sections)的内存分布情况&#xff0c…

Java如何导出word(根据模板生成),通过word转成pdf,放压缩包

<!-- 导出word文档所需依赖--><dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.10.0-beta</version></dependency><dependency><groupId>org.apache.poi</gr…

【C#】 DevExpress.XtraEditors.SidePanel

DevExpress.XtraEditors.SidePanel&#xff0c; 它是 DevExpress 提供的“侧边滑出”面板&#xff08;类似于抽屉、浮动信息区&#xff09;&#xff0c;非常适合做可隐藏的参数区、帮助区、临时交互区等。 SidePanel 用法核心点 1. 基本用法 可容纳其它控件&#xff0c;就像普…

1.1_2 计算机网络的组成和功能

在这个视频中&#xff0c;我们会探讨计算机网络的组成和功能。我们会从三个视角去探讨计算机网络由哪些部分组成&#xff0c;其次&#xff0c;我们会简单的了解计算机网络的功能。 首先我们可以把计算机网络看作是由硬件、软件和协议共同组成的一个庞大复杂的系统。首先在硬件上…

Linux驱动学习day11(定时器)

定时器 定时器主要作用就是&#xff1a;设置超时时间&#xff0c;执行超时函数。 按键按下存在抖动&#xff0c;为了消除抖动可以设置定时器&#xff0c;如上图所示&#xff0c;按下一次按键会产生多次抖动&#xff0c;即会产生多次中断&#xff0c;在每次中断产生的时候&…

Java 编程之观察者模式详解

一、什么是观察者模式&#xff1f; 观察者模式&#xff08;Observer Pattern&#xff09;是一种行为型设计模式&#xff0c;用于对象之间的一对多依赖关系&#xff1a;当被观察对象&#xff08;Subject&#xff09;状态发生变化时&#xff0c;所有依赖它的观察者&#xff08;O…

【C++】经典string类问题

目录 1. 浅拷贝 2. 深拷贝 3. string类传统写法 4. string类现代版写法 5. 自定义类实现swap成员函数 6. 标准库swap函数的调用 7. 引用计数和写时拷贝 1. 浅拷贝 若string类没有显示定义拷贝构造函数与赋值运算符重载&#xff0c;编译器会自动生成默认的&#xff0c…

kotlin中object:的用法

在Kotlin中&#xff0c;object: 用于声明匿名对象&#xff08;Anonymous Object&#xff09;&#xff0c;这是实现接口或继承类的轻量级方式&#xff0c;无需显式定义具名类。以下是核心用法和场景&#xff1a; 1. 基本语法 val obj object : SomeInterface { // 实现接口ov…

js代码04

题目 非常好。我们刚刚看到了回调函数在处理多个异步操作时会变得多么混乱&#xff08;回调地狱&#xff09;。为了解决这个问题&#xff0c;现代 JavaScript 提供了一个更强大、更优雅的工具&#xff1a;Promise。 Promise&#xff0c;正如其名&#xff0c;是一个“承诺”。…

Jenkins初探-通过Docker部署Jenkins并安装插件

简介 本文介绍了使用Docker安装Jenkins并进行初始配置的完整流程。主要内容包括&#xff1a; (1)通过docker pull命令获取Jenkins镜像&#xff1b;(2)使用docker run命令启动容器并映射端口&#xff1b;(3)访问Jenkins界面获取初始管理员密码&#xff1b;(4)安装推荐插件并创…