注意事项

强烈建议docker宿主机关闭firewalld,改用iptables

1 docker安装

1.1 离线安装

下载 Docker 二进制文件(https://download.docker.com/linux/static/stable/x86_64/)

tar zxf docker-xxxx-ce.tgz
cp docker/* /usr/bin/
dockerd &

验证

docker info

注册成服务

vi /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target [Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s [Install]
WantedBy=multi-user.target

重载服务配置

systemctl daemon-reload

1.2 在线安装

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce
systemctl start docker

2 docker常用命令

2.1 下载镜像

docker search xxx
docker pull xxx

2.2 使用镜像

打包镜像

进入项目目录

docker build -t XXX:1.0 .

保存镜像

将容器保存为镜像

docker commit <容器id> <镜像名>:<tag>

将镜像保存为文件

docker save -o XXX.tar XXX:1.0

2.3 使用镜像

导入镜像

docker load -i XXX.tar

运行容器

-d 后台运行 -v 目录映射(宿主机:容器) -p 端口映射(宿主机:容器)-e 设置环境变量 --privileged=true特权运行

docker run --name xxxx -v /var/log/xxx.log:/api/log/xxx.log -e xxxx="xxxx" -e --privileged=true -p 1000:1000 -d xxx:1.0

进入容器

docker exec -it xxxx /bin/sh

2.4 制作镜像(以python3环境为例)

# 拉取镜像
docker pull alpine:latest
# 创建一个名为alpine的容器
docker run -itd --name alpine alpine:latest /bin/sh
# 进入alpine容器
docker exec -it alpine /bin/sh

容器内操作

# 更改软件源(此处以3.12为例)
vi /etc/apk/repositories
http://mirrors.aliyun.com/alpine/v3.12/main/
http://mirrors.aliyun.com/alpine/v3.12/community/
# 更新软件源
apk update
# 安装python3
apk add python3
# 安装pip3
apk add py3-pip

3 Registry常用命令

3.1 部署

拉取镜像

docker pull registry

启动

docker run --name registry -d -p 5000:5000 -v /home/registry:/var/lib/registry registry:latest

3.2 上传镜像

标记

docker tag alpine:latest localhost:5000/alpine:v1.0

上传

docker push localhost:5000/alpine:v1.0

3.3 查看镜像

查看镜像名称

curl -X GET http://localhost:5000/v2/_catalog

查看镜像标记

curl -X GET http://localhost:5000/v2/alpine/tags/list

3.4 下载镜像

本地下载

docker pull localhost:5000/alpine:v1.0

远程下载

错误信息 http: server gave HTTP response to HTTPS client

新增文件 /etc/docker/daemon.json

{
"registry-mirrors": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.199.100:5000"
]
}

重启docker服务

重新拉取

docker pull 192.168.145.135:5000/alpine:v1.0

3.5 删除镜像

通过API只能删除tag,并不会删除镜像,直接删除文件更简单。

进入容器,清空/var/lib/registry/docker/registry/v2/repositories/目录,或者删除映射的本地目录

垃圾回和重启容器

docker exec registry bin/registry garbage-collect /etc/docker/registry/config.yml
docker restart registry

docker笔记-安装、操作和Registry的更多相关文章

  1. Docker探索系列1之docker入门安装与操作

    preface docker这种时髦的技术我接触的比较晚,如果不是公司在使用这项技术,估计还得会更晚接触.好了,说下我司现在docker使用的情况.docker在我司是用来跑web服务的,里面的web ...

  2. Docker笔记(七):常用服务安装——Nginx、MySql、Redis

    开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的安装方法,一般都相对比较繁琐 —— 要经过下载软件或源码包,编译安装,配置,启动等步骤,使用 Docker ...

  3. Docker harbor 安装和基础操作

    目录 简介 离线安装 配置文件 安装 查看 访问测试 及 简单操作 创建一个用户 创建一个测试仓库 创建测试仓库 测试上传和下载镜像 上传 下载镜像测试 简介 Docker容器应用的开发和运行离不开可 ...

  4. Docker Compose安装Registry后配置WebUI与客户端

    场景 Docker 私服Registry简介与使用Docker-Compose安装Registry: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...

  5. Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)

    转载地址:https://www.cnblogs.com/spec-dog/p/11320513.html 开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的 ...

  6. Docker的安装和操作(虚拟机+linux系统)

    1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这 ...

  7. 离线版centos8安装docker笔记

    嗨嗨哈哈,已经很久没有坐下来胡编乱造一点笔记了,平时云服务器搞惯了,一个命令就安装好了docker了的,但这次生不逢时的新机房就没那么幸运了,有多不逢时超乎想象,不仅仅服务器没有外网,就连周围方圆一公 ...

  8. Docker学习笔记 — 配置国内免费registry mirror

    Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror

  9. docker 笔记 (6)搭建本地registry

    转:http://blog.csdn.net/felix_yujing/article/details/51564739 新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还不兼容. ...

  10. 安装docker以及常规操作

    一.安装 docker对内核版本是有要求的,反正建议用7以上的版本,少坑 如果需要卸载旧版本(凡是卸载删除操作都要谨慎!): yum remove docker \ docker-client \ d ...

随机推荐

  1. pygame:简易游戏(飞机大战)

    import math import random import pygame import sys # pygame初始化 pygame.init() # 得分初始化 score = 0 # 创建s ...

  2. java无效发源版本xx

    这三个地方统一一下 就可以解决了

  3. Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性

    一,引言 对于今天所分析的 SonarQube,首先我们得了解什么是 SonarQube ? SonarQube 又能帮我们做什么?我们是否在项目开发的过程中遇到人为 Review 代码审核规范?带着 ...

  4. 如何理解 Spring Boot 中的 Starter ?

    假如 没有 Spring Boot Starter,我们有两种方式来创建 Spring Bean. spring xml 模式 (远古模式,并不推荐) spring API 来创建 Spring Be ...

  5. 2022-10-30:给你一个长度为 n 的整数数组 rolls 和一个整数 k 。 你扔一个 k 面的骰子 n 次,骰子的每个面分别是 1 到 k , 其中第 i 次扔得到的数字是 rolls[i]

    2022-10-30:给你一个长度为 n 的整数数组 rolls 和一个整数 k . 你扔一个 k 面的骰子 n 次,骰子的每个面分别是 1 到 k , 其中第 i 次扔得到的数字是 rolls[i] ...

  6. extra别名,即给列取别名

    extra别名,即给列取别名 Student.objects.all().extra(select={"name":"nickname"}) nickname为 ...

  7. Python竖版大屏 | 用pyecharts开发可视化的奇妙探索!

    你好!我是@马哥python说,一枚10年程序猿‍,正在试错用pyecharts开发可视化大屏的非常规排版. 以下,我用8种ThemeType展示的同一个可视化数据大屏. 1.SHINE主题 2.LI ...

  8. Bioconductor 中的 R 包安装教程

    Bioconductor 是一个基于 R 语言的生物信息软件包,主要用于生物数据的注释.分析.统计.以及可视化(http://www.bioconductor.org). 总所周知,Bioconduc ...

  9. 从0搭建Vue3组件库(十):如何搭建一个 Cli 脚手架

    本篇文章将实现一个名为create-easyest脚手架的开发,只需一个命令npm init easyest就可以将整个组件库开发框架拉到本地. 创建 Cli 包 首先,我们在 packages 目录 ...

  10. CF1770F Koxia and Sequence

    一步都没想到,一定是状态不好吧,一定吧一定吧? 加训数数! 题意 给定 \(n, x, y\),定义好的序列 \(\{a_i\}_{i = 1}^n\) 满足 \(\sum\limits_{i = 1 ...