docker笔记-安装、操作和Registry
注意事项
强烈建议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的更多相关文章
- Docker探索系列1之docker入门安装与操作
preface docker这种时髦的技术我接触的比较晚,如果不是公司在使用这项技术,估计还得会更晚接触.好了,说下我司现在docker使用的情况.docker在我司是用来跑web服务的,里面的web ...
- Docker笔记(七):常用服务安装——Nginx、MySql、Redis
开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的安装方法,一般都相对比较繁琐 —— 要经过下载软件或源码包,编译安装,配置,启动等步骤,使用 Docker ...
- Docker harbor 安装和基础操作
目录 简介 离线安装 配置文件 安装 查看 访问测试 及 简单操作 创建一个用户 创建一个测试仓库 创建测试仓库 测试上传和下载镜像 上传 下载镜像测试 简介 Docker容器应用的开发和运行离不开可 ...
- Docker Compose安装Registry后配置WebUI与客户端
场景 Docker 私服Registry简介与使用Docker-Compose安装Registry: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article ...
- Docker笔记:常用服务安装——Nginx、MySql、Redis(转载)
转载地址:https://www.cnblogs.com/spec-dog/p/11320513.html 开发中经常需要安装一些常用的服务软件,如Nginx.MySql.Redis等,如果按照普通的 ...
- Docker的安装和操作(虚拟机+linux系统)
1.简介 Docker是一个开源的应用容器引擎:是一个轻量级容器技术: Docker支持将软件编译成一个镜像:然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像: 运行中的这 ...
- 离线版centos8安装docker笔记
嗨嗨哈哈,已经很久没有坐下来胡编乱造一点笔记了,平时云服务器搞惯了,一个命令就安装好了docker了的,但这次生不逢时的新机房就没那么幸运了,有多不逢时超乎想象,不仅仅服务器没有外网,就连周围方圆一公 ...
- Docker学习笔记 — 配置国内免费registry mirror
Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror
- docker 笔记 (6)搭建本地registry
转:http://blog.csdn.net/felix_yujing/article/details/51564739 新版 registry v2对镜像存储格式进行了重新设计,并且和旧版还不兼容. ...
- 安装docker以及常规操作
一.安装 docker对内核版本是有要求的,反正建议用7以上的版本,少坑 如果需要卸载旧版本(凡是卸载删除操作都要谨慎!): yum remove docker \ docker-client \ d ...
随机推荐
- pygame:简易游戏(飞机大战)
import math import random import pygame import sys # pygame初始化 pygame.init() # 得分初始化 score = 0 # 创建s ...
- java无效发源版本xx
这三个地方统一一下 就可以解决了
- Azure DevOps(二)Azure Pipeline 集成 SonarQube 维护代码质量和安全性
一,引言 对于今天所分析的 SonarQube,首先我们得了解什么是 SonarQube ? SonarQube 又能帮我们做什么?我们是否在项目开发的过程中遇到人为 Review 代码审核规范?带着 ...
- 如何理解 Spring Boot 中的 Starter ?
假如 没有 Spring Boot Starter,我们有两种方式来创建 Spring Bean. spring xml 模式 (远古模式,并不推荐) spring API 来创建 Spring Be ...
- 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] ...
- extra别名,即给列取别名
extra别名,即给列取别名 Student.objects.all().extra(select={"name":"nickname"}) nickname为 ...
- Python竖版大屏 | 用pyecharts开发可视化的奇妙探索!
你好!我是@马哥python说,一枚10年程序猿,正在试错用pyecharts开发可视化大屏的非常规排版. 以下,我用8种ThemeType展示的同一个可视化数据大屏. 1.SHINE主题 2.LI ...
- Bioconductor 中的 R 包安装教程
Bioconductor 是一个基于 R 语言的生物信息软件包,主要用于生物数据的注释.分析.统计.以及可视化(http://www.bioconductor.org). 总所周知,Bioconduc ...
- 从0搭建Vue3组件库(十):如何搭建一个 Cli 脚手架
本篇文章将实现一个名为create-easyest脚手架的开发,只需一个命令npm init easyest就可以将整个组件库开发框架拉到本地. 创建 Cli 包 首先,我们在 packages 目录 ...
- CF1770F Koxia and Sequence
一步都没想到,一定是状态不好吧,一定吧一定吧? 加训数数! 题意 给定 \(n, x, y\),定义好的序列 \(\{a_i\}_{i = 1}^n\) 满足 \(\sum\limits_{i = 1 ...