Docker配置
设置docker的静态ip
docker容器的ip地址在每次启动后启动顺序设置ip地址,为解决ip地址变动的问题,我们有必要设置docker内部ip地址固定。
创建自定义网络(network)
docker network create —driver bridge —subnet=自定义网络ip/16 —gateway=网关值 自定义网络名称
默认docker网络
自定义网络后
docker network create —driver bridge —subnet=172.18.12.0/16 —gateway=172.18.1.1 wn_docker_net
[root@localhost ~]# docker network create --driver bridge --subnet=172.18.12.0/16 --gateway=172.18.1.1 wn_docker_net
51503b70deb95434f3542cd175840448d0b605a7ca507c97c2459cee1f796842
容器内安装命令
以安装vim为例
进入容器,运行命令apt-get update
root@192:/etc/gitlab# apt-get update
安装命令
root@192:/etc/gitlab# apt-get install vim
docker常见问题及解决方案
问题:IPv4 forwarding disabled
问题描述
IPv4 forwarding is disabled。网络不能联通。
解决方案
设置:net.ipv4.ip_forward = 1
保存&退出(:wq)
重启网络
systemctl restart network
查看ipv4重定向值
[root@localhost ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1
问题: 容器中没有linux命令
当使用linux命令时,显示“command not found”。
问题描述
解决方案
- 更新容器中linux
apt-get update
root@1aba593b6c47:/etc/mysql# apt-get update
- 安装程序
apt-get install 命令
root@130dddbf14ee:/# apt-get install vim
Dockerfile
Dockerfile是Docker中用于定义镜像自动化构建流程的配置文件,在Dockerfile中,包含了构建镜像过程中需要执行的命令和其他操作。通过Dockerfile可以更加清晰、明确的给定Docker镜像的制作过程,由于仅是简单、小体积的文件,在网络等介质中传递的速度快,能够更快的实现容器迁移和集群部署。
Dockerfile的基本结构
linux服务器配置docker
配置docker remote api
在linux中配置docker的远程调用接口。
编辑docker.service
使用 vim 打开/lib/systemd/system/docker.service文件。
vim /lib/systemd/system/docker.service
编辑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
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock #原来的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 #新的ExecStart
重新加载docker
重新加载docker的daemon
systemctl daemon-reload
重新启动docker
systemctl restart docker.service
验证配置
查询端口2375状态
[root@localhost system]# netstat -nplt|grep 2375
tcp6 0 0 :::2375 :::* LISTEN 83061/dockerd
使用crul测试api
curl http://192.168.200.104:2375/info
开放2375端口
[root@localhost system]# firewall-cmd --zone=public --add-port=2375/tcp --permanent
success
[root@localhost system]# firewall-cmd --reload
success
下载java镜像
项目中要依赖java,需要下载java的镜像。
下载java版本 :anapsix/alpine-java
docker pull anapsix/alpine-java
idea配置docker插件
idea安装docker插件(如果没有安装)
idea配置docker
springboot整合Dockerfile
项目中配置Dockerfile文件
模块打包
编写Dockerfile文件
FROM anapsix/alpine-java:latest #引用java镜像
EXPOSE 10021
ADD target/book-type-1.0-SNAPSHOT.jar /TypeApp.jar
ENTRYPOINT ["java","-jar","/TypeApp.jar"]
Dockerfile运行配置
linux服务器
查看镜像
查看运行的docker容器
文章来源:https://www.toymoban.com/news/detail-802619.html
测试访问
文章来源地址https://www.toymoban.com/news/detail-802619.html
到了这里,关于Docker配置及Dockerfile的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!