首页 > 其他分享 >docker 容器部署与私有镜像库

docker 容器部署与私有镜像库

时间:2024-10-24 15:48:01浏览次数:1  
标签:name 私有 com ubuntu 镜像 docker my

一、 Docker 服务安装与启动
1.1 docker下载安装
docker 一般部署在Linux操作系统的服务器上进行使用,安装可使用如下操作行进行安装:

1). centos/redhat 环境

# 更换国内阿里的源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum makecache
# 下载yum包管理器的扩展
yum install -y yum-utils device-mapper-persistent-data lvm2
# 更换国内阿里的docker源
yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker服务
yum install -y docker-ce

2). ubuntu/debian 环境

# 修改 /etc/apt/sources.list 更换为国内源
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse 
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
# 将上述的focal替换为你自己的Ubuntu版本的Codename,codename获取命令如下
lsb_release -a | grep Codename | awk '{print $2}'

1.2 docker 服务启动与自启动

# 服务启动
systemctl start docker
# 查看docker服务状态
systemctl status docker
# 将docker服务加入开机自启
systemctl enable docker

二、 Docker 镜像拉取与启动
2.1 docker push 与docker pull

# 拉取镜像, docker_name若不带仓库地址默认从docker hub 下载,若不带tag_name,默认tag_name为latest
git pull docker_name:tag_name 

# 推送镜像, docker_name若不带仓库地址默认推送到docker hub,若不带tag_name,默认tag_name为latest
git push docker_name:tag_name

2.2 docker run

# 以 ubuntu docker为例进行启动
docker run -d --name my_ubuntu -p 10022:22 -v /home/username/my_ubuntu_data:/data  ubuntu
# 此示例在启动  ubuntu docker 做了端口映射,即访问宿主机的10022端口就是访问ubuntu的22端口;
# 存储(卷)映射,访问宿主机的/home/username/my_ubuntu_data文件夹就是访问ubuntu的/data 文件夹;
# 端口映射与存储卷映射可设置多组

2.3 docker run 附带启动参数
2.3.1 端口映射

docker run -itd -p 10022:22 --name my_ubuntu ubuntu
# 启动一个ubuntu docker实例,并将宿主机10022映射到ubuntu的22端口,启动后便可以通过ssh 通过端口号与宿主机ip对ubuntu直接进行连接访问:
ssh -p 10022 username@{宿主机ip}
# -i 表示允许标准输入
# -t 表示分配一个伪终端
# -d 表示容器在后台运行

2.3.2 存储卷与存储映射

docker run -itd -v /data:/data --name my_ubuntu ubuntu
# 启动一个ubuntu docker实例,并将宿主机的/data文件夹映射到ubuntu的/data文件夹,类似共享文件夹,宿主机对其/data文件夹中文件的修改,容器可以实时同步的观察到对应/data文件夹下对应文件的修改

2.3.3 自启动方式

docker run -itd --restart always  --name my_ubuntu ubuntu
# --restart 参数是指在docker服务重启后,容器是否自动重启的参数,always表示docker服务重启此容器会自行启动

2.4 容器启动附带执行脚本与进入容器内部

# ubuntu镜像的/root下有一个start.sh shell脚本,在启动容器时执行此脚本
docker run -d --name my_ubuntu ubuntu /root/start.sh
# 从宿主机进入容器内部
docker exec -it my_ubuntu(或者容器的commit id ,commit id通过 docker ps -a获取)
# 在宿主机执行容器内部命令或脚本
docker exec -itd my_ubuntu(或容器的commit id) 内部命令或脚本

三、 Docker 本地镜像库搭建
3.1 部署 harbor 与制作/添加镜像
3.1.1 安装部署harbor

# 1. 安装Docker
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io
# 2. 下载Harbor OFFLINE安装包
wget https://github.com/goharbor/harbor/releases/download/v2.0.0/harbor-offline-installer-v2.0.0.tgz
# 3. 解压安装包
tar xvf harbor-offline-installer-v2.0.0.tgz
cd harbor
# 4. 编辑配置文件(例如使用nano或vim编辑器)
nano harbor.yml
# 5. 运行安装脚本
./install.sh
# 6. 验证安装
docker-compose ps

3.1.2 制作/添加镜像

  1. 从外部打包镜像拿到其他环境中使用的镜像
# 在外网环境下通过docker save命令将需要的容器打包成tar压缩文件,以ubuntu为例:
docker save ubuntu:latest -o ubuntu.tar

# 传到特定的网络环境的机器设备上后通过docker load命令将其加载到本地的镜像
docker load -i ubuntu.tar
  1. 基于某容器现状态制作的容器

1)命令行操作

# 首先通过容器名称或者容器的commit id停止运行要被制作镜像的容器,此处以上述创建的my_ubuntu为例
docker stop my_ubuntu

# 通过docker commit命令产生新镜像 
# -a 是作者名
# -m 是镜像信息
# 仓库地址是配置的私有镜像仓库harbor的访问地址,已配置的为:9081/library
docker commit -a "usename" -m "Create a new Docker image."  my_ubuntu的commit id  仓库地址/my_ubuntu:v1.0

2) portainer 可视化docker管理工具操作

3.2 harbor使用与镜像管理

3.2.1 harbor访问地址与账号密码

1. 访问地址:xx.xx.xx.xx:xxxx
2. 默认账号:admin
3. 默认密码:Harbor12345

3.2.2 推送到镜像库

# 以上述创建的my_ubuntu:v1.0为例推送到私有镜像仓库harbor
docker push xx.xx.xx.xx:xxxx/library/my_ubuntu:v1.0
3.2.3 删除镜像库中指定镜像
# 删除本地镜像
docker rmi image_name(或者image id,id通过docker images查看)
# 删除远程仓库中的镜像建议去harbor可视化界面操作

标签:name,私有,com,ubuntu,镜像,docker,my
From: https://www.cnblogs.com/supersimple/p/18499624

相关文章

  • Docker常用命令记录(随时更新)
    Docker常用命令镜像操作保存镜像为tar包dockersave-o<文件名>.tar<镜像名>:<版本号>例如:dockersave-omyimage.tarmyimage:latest从tar包加载镜像dockerload-i<文件名>.tar例如:dockerload-imyimage.tar查看本地所有镜像dockerimages可以加......
  • Opensearch集群部署【docker、服务器、Helm多种部署方式】
    操作系统兼容性我们建议在RedHatEnterpriseLinux(RHEL)或使用systemd的基于Debian的Linux发行版上安装OpenSearch,例如CentOS、AmazonLinux2和UbuntuLong-TermSupport(LTS)。OpenSearch应该适用于大多数Linux发行版,但我们只测试了少数几个。对于任何......
  • 目前国内可用Docker镜像源汇总(截止到20241010)
    国内经常使用Docker的朋友,可能都会涉及到配置镜像源的操作,来加速自己的镜像拉取。然而这段时间陆续发现曾经常用的国内镜像站(各种云商和高校镜像站)现在已经不能用了,搜索互联网可用镜像站或者镜像加速地址,并测试后汇总如下,使用前请自行斟酌。Docker镜像加速列表(截止到20241010)注......
  • docker学习-常用命令
    获取镜像dockerpullubuntu启动容器dockerrun-itubuntu/bin/bash停止一个容器dockerstop<容器ID>停止的容器可以通过dockerrestart重启:dockerrestart<容器ID>进入容器dockerattachdockerexec:推荐大家使用dockerexec命令,因为此命令会退出容器终......
  • pip 的国内镜像源来加速包的下载
    在中国,使用默认的PyPI源可能会导致下载速度较慢。你可以通过设置pip的国内镜像源来加速包的下载。以下是设置pip国内源的步骤:方法1:临时使用国内源你可以在安装包时临时指定镜像源,例如使用清华大学的镜像源:bashpipinstall-ihttps://pypi.tuna.tsinghua.edu.cn/simp......
  • Docker Compose
    DockerCompose上线:dockercomposeup-d,-d是以后台方式下线:dockercomposedown,具体参数可以用--help查看启动:dockercomposestartx1x2x3:x1,x2,x3是在文件compose.yaml中配置的应用停止:dockercomposestopx1x2x3扩容:dockercomposescalex2=3,让x2的实例启动......
  • k8s 使用 containerd 作为容器运行时拉取 http 的 harbor 私有仓库镜像
    目录版本介绍报错内容解决方法主配置文件修改创建镜像仓库配置备注版本介绍k8s:v1.28.2containerd:1.6.33报错内容我的harbor用的是http的,因为是内网自己用,就没有配置https了,于是配置好镜像拉取的凭据,pod拉取镜像会有以下的报错Failedtopullimage"harbor.de......
  • ubuntu里 docker 启动springboot工程,报连不上redis
    也挺奇怪的,直接在ubuntu里使用idea是可以跑起来的。一样使用docker部署,centos7.3里面能正常启动,但是,ubuntu22.04里面就跑不起来了。具体报错:RedisConnectionException:Unabletoconnectto192.168.50.128/<unresolved>:6319这个是DockerFileFROMeclipse-temu......
  • docker以及docker-compose 离线安装
    一、离线安装docker1.下载离线包去官网下载离线包https://download.docker.com/linux/static/stable/ 我这里下载的是X86_64的包, 2.安装dockersudotarzxvfdocker-20.10.13.tgz  将docker目录下面的文件全部拷贝到/usr/bin/sudocp-pdocker/*/usr/bin将d......
  • ChatGPT国内中文版镜像网站整理合集(2024/10/24)
    ​一、GPT中文镜像站① yixiaai.com 支持4o以及o1,支持MJ绘画② chat.lify.vip 支持通用全模型,支持文件读取、插件、绘画、AIPPT③ AIChat 支持GPT3.5/4,4o以及MJ绘画1.什么是镜像站镜像站(MirrorSite)是指通过复制原始网站内容和结构,创建的备用网站。其主要目的是在原......