开发环境配置
以开发环境Docker为例,首先安装Docker容器并且配置开发环境的Docker仓库。参考《ubuntu安装docker,docker常用命令》
修改docker配置
vi /etc/default/docker
找到“DOCKER_OPTS”处,如果之前没有配置,加入如下配置:
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:2376"
告诉主机unix sock的路径并且可以通过2376端口进行tcp的连接,修改完成后保存退出。
接下来还需要对守护线程文件内容进行修改:
vi /lib/systemd/system/docker.service
找到“ExecStart”处,修改后如下:
EnvironmentFile=/etc/default/docker
ExecStart=/usr/bin/dockerd -H fd:// $DOCKER_OPTS
#ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
注释掉原来的ExecStart,增加EnvironmentFile配置信息,告诉主机在那个位置找到刚刚配置的环境变量,然后通过在ExecStart变量中修改加入$DOCKER_OPTS变量间接引入docker配置信息,修改完成后保存退出。
接下来就重启一下daemon和docker:
// 重启daemon
sudo systemctl daemon-reload
// 重启docker
sudo systemctl restart docker
重启完成后通过,使用如下命令查看一下刚刚的配置是否生效:
ps -aux | grep docker
结果如下:
root 3912 2.4 3.9 1462648 79744 ? Ssl 10:13 0:01 /usr/bin/dockerd -H fd:// -H unix:///var/run/docker.sock -H 0.0.0.0:2376
说明配置生效。
配置镜像源
推荐:
找到个人阿里云的镜像加速器(要1.10.0以上版本的docker)
查看docker版本
docker -v
到阿里云官网找属于自己的加速器地址(每个阿里云账号都有,免费的),地址如下:
https://cr.console.aliyun.com/cn-beijing/instances/mirrors
找打后修改如下:
# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json
# 加入以下配置项
{
"registry-mirrors": [
"阿里云镜像源"
]
}
此外:
还可以用下面这些镜像源:
DockerProxy 代理加速:dockerproxy.com
百度云 Mirror: mirror.baidubce.com
DaoCloud: docker.m.daocloud.io
南京大学:docker.nju.edu.cn
上海交大:docker.mirrors.sjtug.sjtu.edu.cn
# 编辑 Docker 配置文件
$ sudo vim /etc/docker/daemon.json
# 加入以下配置项
{
"registry-mirrors": [
"https://dockerproxy.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
]
}
eclipse配置
打开eclipse marketplace在find输入框中输入docker就可以找到 docker tooling插件。安装Eclipse Docker Tooling。
安装完成后,重启eclipse。
重启完成后,依次选择【Window】->【Show View】->【Other】->【Docker】->【Docker Explorer】,打开docker控制窗口。
显示如下:
No connection to a Docker deamon is available. Click this link to create a new connection...
安装提示点击,弹出”New Docker Connection”对话框。在”Connection name”输入框中输入docker连接名称,如:“docker虚拟机”;”Use custom connection settings”前面的框勾上;选择“Tcp Connection”,在“URI”对应的输入框中输入开发环境的IP地址和docker开放的端口号:
tcp://192.168.2.102:2376
然后点击“Test Connection”,弹框显示“Ping succeeded!”则说明连接测试成功。点击”OK”按钮后点击”Finish”按钮,一个docker连接就添加成功了。
eclipse创建docker镜像
这里以nacos为例(可以是任意的maven项目),在项目nacos下创建Dockerfile文件(与pom.xml同路径),编写Dockerfile如下:
FROM openjdk:17
MAINTAINER Yang Jun
RUN mkdir -p /var/www/data/nacos
WORKDIR /var/www/data/nacos
EXPOSE 8848
ENV TZ=Asia/Shanghai LANG=C.UTF-8 LC_ALL=C.UTF-8 JAVA_OPTS="-Xms256m -Xmx512m"
ADD ./target/nacos.jar ./app.jar
ENTRYPOINT java -Djava.security.egd=file:/dev/./urandom ${JAVA_OPTS} -jar app.jar
我们创建的镜像是基于openjdk:17,所以先在开发环境拉取openjdk:17镜像
docker pull openjdk:17
拉取镜像成功后,先编译nacos项目,然后在Eclipse刚刚创建的Dockerfile处鼠标右键->【RunDocker Image Build】;在弹出的“Docker Image Build Configuration”中,Connection处自动选择了我们刚刚创建的“docker虚拟机”,在”Image Name”对应输入框中输入镜像名称和Tag,如”nacos:1.0.0″,点击“OK”按钮后执行构建镜像。
镜像构建成功后,在docker连接中的“Images”列表中就可以看到我们刚刚创建的镜像。
在开发环境执行如下命令启动容器(以nacos为例):
docker run -d -p 8848:8848 --name nacos nacos:1.0.0