docker安装及构建镜像

目录

目录

1 配置网络

1.1 配置虚拟机网络

1.2 docker中配置网络

2 安装docker

3 下载镜像

3.1 下载镜像并运行docker

4 构建镜像

4.1 编写Dockerfile构建docker nginx镜像

4.2 编写Dockerfile构建docker java jdk11镜像

4.3 编写Dockerfile构建spring boot镜像

4.3.1 创建spring boot项目并打包成jar文件

4.3.2 编写Dockerfile文件

4.3.3 构建运行jar镜像

5 将镜像推送到阿里云镜像仓库并拉取

5.1 创建命名空间

5.2 登录阿里云私有仓库并push镜像文件

5.3 拉取并运行私有仓库的镜像文件

6 搭建私有镜像仓库并推送镜像

6.1 搭建私有镜像仓库

6.2 推送镜像到私有仓库

6.3 从私有仓库拉取镜像


1 配置网络

1.1 配置虚拟机网络


 

1.2 docker中配置网络

sudo mkdir -p /etc/docker

sudo vim /etc/docker/daemon.json

添加以下内容:

{

  "registry-mirrors": ["https://10i1p20k.mirror.aliyuncs.com"],
  "proxies": {
      "http-proxy": "http://192.168.137.1:7890",
      "no-proxy": "localhost,127.0.0.0/8",
      "https-proxy": "http://192.168.137.1:7890"
  }
}
 

其中:"https://10i1p20k.mirror.aliyuncs.com"是本人从阿里云的“容器镜像服务”(https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors)中获得的镜像服务地址。

192.168.1.251:7890是宿主机的ip和代理的端口。

然后重启 docker 服务,使其生效:

sudo systemctl restart docker

若要检查生效情况,可以执行:

sudo docker info

https://paoluz.link/#/register,邀请码:g4c9。

2 安装docker

安装软件包“yum-utils”以提供命令“yum-config-manager”

sudo yum install -y yum-utils

yum-config-manager 是 yum 仓库管理命令。

yum-config-manager 命令的本质是对 /etc/yum.repos.d/(库数据的储存位置)文件夹下文件的增删查改,推荐使用 yum-config-manager 命令进行改动。

查询仓库内容:

yum repolist all # 显示所有资源库

yum repolist enabled # 显示所有已启动的资源库

yum repolist disabled # 显示所有被禁用的资源库

添加 repository:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

切换库中资源----禁用+启用:

yum-config-manager --disable itemName

yum-config-manager --enable itemName

删除仓库:

在 /etc/yum.repos.d/ 下手动删除对应 repo 文件即可,但要注意,这会使得该库中所有信息被删除。

列出docker-ce的所有版本,版本由新到旧排列:

yum list docker-ce --showduplicates | sort -r

安装某一版本的docker:

sudo yum install -y docker-ce-3:29.1.2-1.el10.x86_64

启动docker并加入开机启动:

systemctl start docker && systemctl enable docker

查看docker版本:

sudo docker version

创建docker群组并添加您的用户

sudo groupadd docker

将您的用户添加到该docker

sudo usermod -aG docker $USER

运行以下命令来激活对组的更改:

newgrp docker

验证您是否可以docker不带句点运行命令sudo

docker run hello-world

3 下载镜像

3.1 下载镜像并运行docker

docker search nginx

docker run -d -p 91:80 nginx

4 构建镜像

4.1 编写Dockerfile构建docker nginx镜像

vim Dockerfile

Dockerfile文件的内容如下:

FROM nginx

RUN echo '<h1>This is Tantan Nginx!!!</h1>' > /usr/share/nginx/html/index.html

构建并运行docker nginx镜像

docker build -t nginx:tantan

docker run -d -p 92:80 nginx:tantan

4.2 编写Dockerfile构建docker java jdk11镜像

vim Main.java

public class Main
{
    public static void main( String[] args )
    {
        System.out.println( "Hello World!" );
    }
}

vim Dockerfile

FROM openjdk:27-ea-oraclelinux9
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
RUN javac Main.java
CMD ["java", "Main"]

构建并运行docker java jdk镜像

docker build -t tantan-java:v0.0.1 .

docker run -it --rm --name tantan-java tantan-java:v0.0.1

4.3 编写Dockerfile构建spring boot镜像

4.3.1 创建spring boot项目并打包成jar文件

4.3.2 编写Dockerfile文件

vim Dockerfile

FROM openjdk:27-ea-oraclelinux
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
EXPOSE 8080
ENTRYPOINT java -jar demo-0.0.1-SNAPSHOT.jar

4.3.3 构建运行jar镜像

docker build -t tantan-jar:v0.0.1 .

docker run -d -p 8080:8080 tantan-jar:v0.0.1

可以使用docker logs 容器id查看运行过程中产生的日志。

5 将镜像推送到阿里云镜像仓库并拉取

5.1 创建命名空间

5.2 登录阿里云私有仓库并push镜像文件

登录阿里云仓库,密码为开通服务时设置的密码,也可以重新设置。

docker login --username=tanhongxing123 registry.cn-hangzhou.aliyuncs.com

给本地的镜像文件重新打标签为:registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1。

docker tag tantan-jar:v0.0.1 registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1

将本地镜像文件(文件的名字/tag是: registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1)推送到阿里云私有仓库中。【会自动创建阿里云仓库】

docker push registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1

5.3 拉取并运行私有仓库的镜像文件

docker pull registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1

docker run -d -p 8080:8080 registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1

6 搭建私有镜像仓库并推送镜像

6.1 搭建私有镜像仓库

vim docker-compose.yml

version: "3"
services:
  registry:
    container_name: docker-registry
    image: registry:2
    ports:
      - 5000:5000
    volumes:
      - /data/docker-registry:/var/lib/registry

docker compose up -d
使用httpd-tools软件包中的htpasswd工具生成加密密码

sudo yum install httpd-tools
sudo htpasswd -Bc auth.htpasswd tantan

配置Docker Daemon:

vim /etc/docker/daemon.json

"insecure-registries": ["192.168.1.2:5000"]

重启Docker Daemon:

sudo systemctl daemon-reload && systemctl restart docker

重新启动docker容器

docker start 8c4

登录私有仓库:

sudo docker login 192.168.1.2:5000

6.2 推送镜像到私有仓库

将本地镜像列表中的镜像打标签:

docker tag registry.cn-hangzhou.aliyuncs.com/tantan001/tantan-jar:0.0.1 192.168.1.2:5000/tantan-jar:0.0.1

推送镜像到私有仓库:

docker push 192.168.1.2:5000/tantan-jar:0.0.1

cd /var/lib/registry

tree .

6.3 从私有仓库拉取镜像

sudo vim /etc/docker/daemon.json

该文件中增加如下代码:

"insecure-registries": ["192.168.1.2:5000"]

重启docker:

sudo systemctl daemon-reload && systemctl restart docker

拉取镜像:

docker pull 192.168.1.2:5000/tantan-jar:0.0.1

运行镜像:

docker run -d -p 8081:8080 192.168.1.2:5000/tantan-jar:0.0.1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值