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

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.lqws.cn/news/580627.html

相关文章:

  • ubuntu下免sudo执行docker
  • 自动驾驶:特斯拉 Model Y全自动驾驶交付的技术原理
  • 笨方法学python -练习6
  • 设计模式精讲 Day 19:观察者模式(Observer Pattern)
  • 设计模式-观察者模式
  • Linux 系统管理:高效运维与性能优化
  • MAC电脑,在 Docker 中已经运行过一次 Oracle 镜像后,再次运行具体操作。
  • pytorch底层原理学习--计算图
  • 【WCF】通过AOP实现基于JWT的授权与鉴权的实践
  • LG 将正式终止手机相关服务,彻底告别手机市场
  • 云手机主要是指什么?
  • static线程安全
  • 10.【C语言学习笔记】指针(二)
  • 汉字田(第十五届蓝桥杯大赛软件赛国赛)
  • 生成式人工智能实战 | 变分自编码器(Variational Auto-Encoder, VAE)
  • zxing-cpp c++版本的编译
  • 【T2I】RB: REGION AND BOUNDARY AWARE ZERO-SHOT GROUNDED TEXT-TO-IMAGE GENERATION
  • RK3588高性能处理器核心技术解析
  • 从0开始学习计算机视觉--Day06--反向传播算法
  • chatshare最新激活码分享
  • OpenCV计算机视觉实战(14)——直方图均衡化
  • Windows环境下Docker容器化的安装与设置指南
  • MySQL DATETIME 类型时间精度陷阱:一次由毫秒引发的数据“消失”之谜
  • 计算机网络第一章——计算机网络体系结构
  • Pandas5(数据清洗1)——缺失值处理、数据去重/转换/替换、离散化/分箱、检测和过滤异常值
  • 【Kafka】docker 中配置带 Kerberos 认证的 Kafka 环境(全过程)
  • NIO 工作原理
  • C++ cstring 库解析:C 风格字符串函数
  • 【甲方安全建设】SDL基线建设及审计评估
  • API接口安全-2:签名、时间戳与Token如何联手抵御攻击