标签:volume 信息 eal sbin open efi 图片 需要 vim
Dockerfile常用命令(安全)测试实验:
使用dockerfile文件制作一个镜像基于centos:7 镜像部署安装nginx服务
注意Nginx包需要与dockfile文件在同一目录,要不运行时是dockerfile文件不允许的
vim Dockerfile
配置:
FROM centos:7
RUN yum -y install gcc pcre-devel openssl-devel zlib-devel
RUN yum -y install make
COPY nginx-1.14.0.tar.gz /
RUN tar -zxf nginx-1.14.0.tar.gz -C /usr/src
RUN useradd -M -s /sbin/nologin nginx
WORKDIR /usr/src/nginx-1.14.0
RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
RUN make && make install
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
RUN nginx -t
RUN nginx
EXPOSE 80
另一种将COPY改为ADD的创建镜像
FROM centos:7
RUN yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel
ADD nginx-1.14.0.tar.gz /usr/src/
RUN useradd -M -s /sbin/nologin nginx
WORKDIR /usr/src/nginx-1.14.0
RUN ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx
RUN make && make install
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
RUN nginx -t
RUN nginx
EXPOSE 80
如果编译安装时,MAKE不上,需要在Dockerfile文件中添加
yum一个make。
执行Dockerfile文件的命令:
docker build -t test1 .
查看镜像
docker images
3)将制作的镜像运行一个容器,使容器运行时自动开启nginx服务。验证服务正常运行。
创建容器
docker run -itd --name test1 test1:latest
进入容器
docker exec -it test1 /bin/bash
如果想要保证容器运行之后,nignx服务开启后面需要添加nginx -g "daemon off;"
docker run -itd --name test1-2 test1:latest nginx -g "daemon off;"
查看容器信息
docker inspect test1-2
curl 172.17.0.2
运行一个私有仓库,将自制镜像上传到私有仓库,且开启另外一台虚拟机同样加入私有仓库,在docker02上下载私有仓库镜像并运行一个容器,验证服务正常运行。
Registry
用docker容器运行registry私有仓库服务
docker pull registry:2(下载镜像)
运行私有仓库服务
docker run -itd --name registry --restart=always
-p 5000:5000 -v /registry:/var/lib/registry registry:2
-p:端口映射,宿主机端口:容器暴漏的端口。
-v:挂载目录,宿主机的目录;容器内的目录。(自动创建目录,并挂载)镜像重命名;docker tag test1:latest ( 镜像名)192.168.1.1:5000/test (更改后的名)
上传到私有仓库
docker push 192.168.1.1:5000/test:latest
需要https的所以要更改(记住目录路径)
vim /usr/lib/systemd/system/docker.service (更改)
Secure安全,insecure不安全的
[root@docker test1]# systemctl daemon-reload
[root@docker test1]# systemctl restart dockerdocker push 192.168.1.1:5000/test:latest (上传到私有仓库)
cd /registry/ 私有仓库位置
在第二台docker2上下载私有仓库镜像并运行一个容器,验证服务正常运行。vim /usr/lib/systemd/system/docker.service (更改)
systemctl daemon-reload
systemctl restart docker
下载镜像
docker pull 192.168.1.1:5000/test:latest 在私有仓库下载镜像
docker images
制作容器lbs1
docker run -itd --name lbs1 192.168.1.1:5000/test:latest nginx -g "daemon off;"
查看容器lbs1
docker inspect lbs1
访问nginx
curl 172.17.0.2
dockerfile文件 与 私有仓库registry的使用操作
标签:volume 信息 eal sbin open efi 图片 需要 vim
原文地址:https://blog.51cto.com/13911055/2468499