目录
目录
4.1 编写Dockerfile构建docker nginx镜像
4.2 编写Dockerfile构建docker java jdk11镜像
4.3 编写Dockerfile构建spring boot镜像
4.3.1 创建spring boot项目并打包成jar文件
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

5931

被折叠的 条评论
为什么被折叠?



