注意事项

强烈建议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. ES6中新增的promise异步编程解决方案

    promise异步编程解决方案 第1章 准备 1.1 区别实例对象与函数对象 (1).实例对象:通过    new 函数    产生的对象,称为实例对象,简称对象 (2).函数对象:将函数作为对象使用 ...

  2. java无效发源版本xx

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

  3. Kubernetes(K8S) kubesphere 介绍

    使用 Kubeadm 部署 Kubernetes(K8S) 安装--附K8S架构图 官网地址:https://kubesphere.com.cn/ KubeSphere 是个全栈的Kubernetes ...

  4. Kubernetes(K8S) kubesphere 安装

    安装KubeSphere最好的方法就是参考官方文档,而且官方文档是中文的. 官网地址:https://kubesphere.com.cn/ https://github.com/kubesphere/ ...

  5. ts中报错信息收集

    1. 错误代码 参考:https://www.mmbyte.com/article/92849.html 1 state.localuserInfo = JSON.parse(localStorage ...

  6. Python表达式及运算符

    表达式 由一个或者几个数字或者变量或者运算符合成的一行代码 通常返回一个结果 运算符 由一个以上的值经过一系列的运算得到新值的过程叫运算 用来操作运算的符号叫运算符 运算符分类 算数运算符 比较或者关 ...

  7. 一个WPF开发的、界面简洁漂亮的音频播放器

    今天推荐一个界面简洁.美观的.支持国际化开源音频播放器. 项目简介 这是一个基于C# + WPF开发的,界面外观简洁大方,操作体验良好的音频播放器. 支持各种音频格式,包括:MP4.WMA.OGG.F ...

  8. 浅谈 LIS 问题的几种做法

    LIS 问题也就是最长不下降子序列问题,是一个经典的问题. 做法一 我们发现可以动态规划,设 \(f_i\) 表示前 \(i\) 项包含 \(i\) 的 LIS 长度. 有转移方程: \[f_i=\m ...

  9. shiro拦截axios请求导致@RequireRole注解失效

    文章目录 ShiroRequiresRole注解对于axios请求无效 场景再现 解决方案 网上的解决方案 最近在整理一个自己以前做过的系统,想要添加一些功能,发现shiro框架出现了点问题,觉得这个 ...

  10. golang在编程语言排行榜上排名第10,请不要说golang已死。

    四月头条:编程语言 Zig 进入 TIOBE 指数前 50 名 最近,我们讨论了高性能编程语言的出现.由于需要处理的数据量越来越大,这些编程语言正在蓬勃发展.因此,C 和 C++ 在前十名中表现良好, ...