由于个人资金问题,服务器只有一台
服务器配置:centos7 + docker
第一步
1.修改/etc/sysconfig/docker文件,在最后增加一行DOCKER_OPTS
# docker-latest daemon can be used by starting the docker-latest unitfile.
# To use docker-latest client, uncomment below lines
#DOCKERBINARY=/usr/bin/docker-latest
#DOCKERDBINARY=/usr/bin/dockerd-latest
#DOCKER_CONTAINERD_BINARY=/usr/bin/docker-containerd-latest
#DOCKER_CONTAINERD_SHIM_BINARY=/usr/bin/docker-containerd-shim-latest
DOCKER_OPTS="-H unix:///var/run/docker.sock -H 0.0.0.0:5555"
2.修改/usr/lib/systemd/system/docker.service
在[Service]的ExexStart=下面增加一行$DOCKER_OPTS
[Service]
Type=notify
NotifyAccess=all
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin
ExecStart=/usr/bin/dockerd-current \
--add-runtime docker-runc=/usr/libexec/docker/docker-runc-current \
--default-runtime=docker-runc \
--exec-opt native.cgroupdriver=systemd \
--userland-proxy-path=/usr/libexec/docker/docker-proxy-current \
$DOCKER_OPTS \
$OPTIONS \
$DOCKER_STORAGE_OPTIONS \
$DOCKER_NETWORK_OPTIONS \
$ADD_REGISTRY \
$BLOCK_REGISTRY \
$INSECURE_REGISTRY
3. 重启
systemctl daemon-reload
systemctl restart docker.service
4.添加防火墙规则
firewall-cmd --permanent --zone=public --add-port=5555/tcp
firewall-cmd --reload
5. 用netstat查看
netstat -tnlp |grep 5555
6. 用curl进行测试
curl -v -X GET 192.168.17.131:5555/images/json |python -m json.tool
第二步
在docker中安装了jenkins容器,下载安装docker-build-step插件
打开jenkins系统设置,找到Docker Builder项
此处需要填写docker rest api
填写完成后点击test,如果出现403
那么,在系统设置中找到此项,取消勾选,允许跨域访问,然后就成功了
第三步
为了方便测试,在jenkins新建了一个maven项目,取名test-docker,并在jenkins容器的workspace目录下添加test-docker文件夹,模拟项目构建
步骤如下:
首先进入jenkins容器,然后使用cd命令到根目录
然后进入workspance目录,并创建文件夹
cd workspace
mkdir test-docker
cd test-docker
mkdir docker
创建Dockerfile文件和index.html模拟构建成功生成的文件
创建Dockerfile文件
vi Dockerfile
内容如下
FROM nginx:alpine
COPY . /usr/share/nginx/html
创建html文件
vi index.html
内容如下
hello docker
然后回到jenkins的test-docker项目,修改配置
在Build中,添加build step,选择Execute Docker command
相关内容如下:
1.创建docker镜像
2.继续添加build step,在创建容器前移除已有的容器
这个地方ContainerID可以直接填容器名称,不一定非要填容器ID
3.创建容器
4. 启动容器
到这里就结束了,我们使用docker ps -a查看容器情况
这里看到我们创建的hello容器已经成功运行了
各位小伙伴如果在过程中出现什么问题,欢迎留言提问