2018/12/12 docker api 操作 dockerfile
在registry节点使用docker api 通过mariadb镜像创建docker容器,设置数据库密码为0000000,暴露3306端口,监听的地址为0.0.0.0,将以上操作命令及检查结果填入命令行界面。
curl -XPOST -H "Content-Type: application/json" http://192.168.17.112:5555/containers/create -d '{
"Env":["MYSQL_ROOT_PASSWORD=000000"],
"Image":"mysql:8.0",
"ExposedPorts":{"3306/tcp": {}},
"HostConfig": {"PortBindings": {"3306/tcp": [{"HostIp": "","HostPort": "3306"}]}},
"NetworkSettings": {"Ports": {"5000/tcp": [{"HostIp": "0.0.0.0","HostPort": "3306"}]}}
}'
curl命令通过-H '...' -H '...'这样增加多个头
52.编写以上题构建的 centos-7 镜像为基础镜像,构建 http 服务,Dockerfile 要求删除镜像的 yum 源,使用当前系统的 yum 源文件,完成后安装 http 服务,此镜像要求暴露 80 端口。构建的镜像名字叫 http:v1.0。完成后查看 Dockerfile 文件并查看镜像列表,将以上操作命令及检查结果以文本形式填入答题框。
docker build -t 192.168.140.10:5000/http:v1.0 .
cat Dockerfile
FROM centos-7
RUN rm -f /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d
RUN yum install httpd -y
EXPOSE 80
docker images http:v1.0
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.140.10:5000/http v1.0 97f19f884b05 37 seconds ago 459.7 MB
[root@server ~]# cd dockerfile1
[root@server dockerfile1]# ll
total 8
-rw-r--r--. 1 root root 166 Oct 28 12:22 Dockerfile
-rw-r--r--. 1 root root 78 Oct 28 09:53 local.repo
[root@server dockerfile1]# cat Dockerfile
FROM centos:latest
RUN rm -f /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d
RUN yum install httpd -y
EXPOSE 80
CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
[root@server dockerfile1]#