Docker和Dockerfile

什么是Docker

Docker是一个开源的 应用容器引擎 ,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不会有任何接口.

Docker架构

docker使用客户端-服务器架构。 Docker客户端(client) 与 守护进程(Docker daemon)进行对话,该守护进程 完成了构建、运行和分发 Docker 容器的繁重工作。

安装Docker

1. 检查卸载之前的Docker

检查之前是否安装过docker,如果有使用: yum remove docker 卸载。以下为完整命令:

sudo yum remove docker \

docker-client \

docker-client-latest \

docker-common \

docker-latest \

docker-latest-logrotate \

docker-logrotate \

docker-engine

2. 安装yum-utils

安装命令:yum install -y yum-utils

3. 配置阿里云镜像

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

4. 更新CentOs

命令:yum update

5. 列出Docker源( 如果需要指定的docker源,在后面加上版本号 )

命令yum list docker-ce —showduplicates | sort -r

6. 安装最新的Docker

命令:yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

7. 检查docker 版本号

命令:docker -v

8. 启动Docker

命令:systemctl start docker

9. 在系统启动时运行docker

命令:systemctl enable docker

Docker容器配置

1. 配置本地镜像库

使用此命令:cat /etc/docker/daemon.json进入文件,在文件中输入一下命令:

{

"registry-mirrors":["https://ung2thfc.mirror.aliyuncs.com"]

}

2. 配置完后重启Docker

命令:systemctl restart docker

Docker常见问题及解决方案

1. 问题:IPv4 forwarding disabled

问题的描述:

IPv4 forwarding is disabled。网络不能联通。

解决方案:

    • 用此命令:vim /etc/sysctl.conf进入文件,
    • 在文件的最后段加上次命令:net.ipv4.ip_forward=1
    • 保存退出::wq
重启网络

命令:systemctl restart network

2. 问题:容器中没有Linux命令

问题描述:当使用linux命令时,显示“command not found”。

解决方案:

    • 更新容器中的Linux

命令:apt-get update

    • 安装程序

命令:apt-get install

Dockerfile

Dockerfile是Docker中用于定义镜像自动化构建流程的配置文件,在Dockerfile中,包含了构建镜像过程中需要执行的命令和其他操作。通过Dockerfile可以更加清晰、明确的给定Docker镜像的制作过程,由于仅是简单、小体积的文件,在网络等介质中传递的速度快,能够更快的实现容器迁移和集群部署。

1. Dockerfile的基本结构

2. Linux服务器配置docker

3. 配置docker remote api

在Linux中配置docke的远程调用接口。

4. 编辑docker.service

用vim命令打开 /lib/systemd/system/docker.service 文件,命令如下:

命令: vim /lib/systemd/system/docker.service

5. 编辑service模块

修改ExecStart的内容:

ExecStart=/usr/bin/dockerd -H fd:// containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

6. 重新加载docker
    • 重新加载docker的daemon

命令: systemctl daemon-reload

    • 重新启动docker

命令: systemctl restart docker.service

7. 验证配置
    • 查询端口2375状态

命令: netstat -nplt | grep 2375

    • 使用crul测试api

命令: curl http://192.168.200.104:2375/info

8. 开放2375端口
    • 命令: firewall-cmd --zone=public--add-port=2375/tcp --permanent

提示: success

    • 命令: firewall-cmd --reload

提示: success

9. 下载java镜像
    • 项目中要依赖java,需要下载java的镜像

下载java版本: anapsix/alpine-java

命令: docker pull anapsix/alpine-java

Idea配置docker插件

1. idea安装docker插件(如果没有安装)

2. Idea配置docker

Spring-boot整合Dockerfile

1. 项目中配置Dockerfile文件

2. 编写Dockerfile文件
FROM anapsix/alpine-java:latest          #引用java镜像
EXPOSE 10021							 #端口号和application.yml里的一致

ADD target/book-type-1.0-SNAPSHOT.jar /TypeApp.jar

ENTRYPOINT ["java","-jar","/TypeApp.jar"]

3. 模块打包

4. Dockerfile运行配置

  • 23
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值