💡知行合一.🐬|

BaldButStrong

园龄:2年11个月粉丝:2关注:0

2024-10-24 15:55阅读: 14评论: 0推荐: 0

docker 容器部署与私有镜像库

一、 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 idid通过docker images查看)
# 删除远程仓库中的镜像建议去harbor可视化界面操作

本文作者:BaldButStrong

本文链接:https://www.cnblogs.com/supersimple/p/18499624

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   BaldButStrong  阅读(14)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起