搭建自己的docker镜像

手动构建

1.关键字查找镜像

sudo docker search centos

2.下载基本镜像

sudo docker pull centos

3.启动容器

sudo docker run -d -it --name centos1 -h centos1 -p 91:80 -v /home/root:/my_python -w my_python centos /bin/bash
# 查看已经启动的docker
docker container ls

4.进入容器

sudo docker exec -it 容器id /bin/bash

5.进入更新软件

apt-get update

6.安装软件

yum install -y gcc   等

7.退出

exit

8.停止容器

docker stop 容器id

9.提交镜像

sudo docker commit -m "python3" 73795020d9d8 ubuntu-python3:3.5
73795020d9d8 容器id
ubuntu-python3 名字
3.5 :版本号

dockerfile构建

1.创建Dockerfile文件     D要大写

vim Dockerfile

  

# This is My first Dockerfile
# Version 1.0
# Author: yu

# Base image    最基础的镜像
FROM centos

# MAINTAINER 维护者  (已弃用)  用LABEL
LABEL maintainer="yu"

# ADD  添加文件  COPY也可以文件  但是ADD可以解压缩文件
ADD plist.txt(文件名称,这个路径,同级目录) /usr/local/src(添加到的路径)
ADD pore-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src

# RUN 要干什么   运行shell命令  安装软件和包
RUN yum install -y wget gcc gcc-c++ make openssl-devel
RUN useradd -s /sbin/nologin -M www   # 添加用户

# WORKDIR 相当于cd   进入目录 尽量使用绝对目录
WORKDIR /usr/local/src/plist.txt
RUN pip install -r plist.txt
RUN ./configure --prefix=/uer/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/uer/local/src/pcre-8.37 && make && make install
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

# ENV 配置环境变量
ENV PATH  /ust/local/nginx/sbin:$PATH

# EXPOST 映射端口  还可以设置端口监听是tcp或者udp  默认是tcp   tcp可以不写
EXPOST 80/tcp

# CMD 执行命令   1.设置容器启动后默认执行的命令参数  2.如果docker run指定了其他命令,cmd命令会被忽略  3.如果定义了多个cmd,只会执行最后一个
CMD ['nginx']

# ENTRYPOINT 设置容器启动时运行的命令 1.让容器以应用程序或者服务的形式运行 2.不会被忽略,一定会执行 3.最佳实践:写一个shell脚本为entrypoint

2.运行Dockerfile文件

docker build -t(取个名称) my_nginx:V2  .(Dockerfile文件路径,也可以写绝对路径)

  

原文地址:https://www.cnblogs.com/yoyo1216/p/10879919.html