Docker 构建自己的容器(学习笔记二)
Dockerfile
---------------------------------------------------------------------------------------------------------------------
首先需要的包和dockerfile放在一起
[root@localhost docker-file]# ls
Dockerfile nginx-1.9.3.tar.gz pcre-8.37.tar.gz
[root@localhost docker-file]# pwd
/opt/docker-file
[root@localhost docker-file]#
---------------------------------------------------------------------------------------------------------------------
创建dockerfile
[root@localhost docker-file]# vim Dockerfile
#base images,name or id 可以是镜像名字或者镜像ID
FROM 3bee3060bfc8
#maintainer 作者
MAINTAINER wangzz
#add 把包添加到容器的指定目录,如果是tar包会自动解压
ADD pcre-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src
#run 在容器里运行命令安装nginx需要软件
RUN yum install -y wget gcc gcc-c++ make openssl-devel
#run 在容器里运行命令创建用户
RUN useradd -s /sbin/nologin -M www
#workdir 相当于cd到这个目录
WORKDIR /usr/local/src/nginx-1.9.3
#run 在容器里运行命令进行编译安装
RUN ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-pcre=/usr/local/src/pcre-8.37 && make && make install
#run 在容器里运行命令更改nginx配置文件,使其前台运行
RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf
#env 将nginx启动命令加到环境变量里
ENV PATH /usr/local/nginx/sbin:$PATH
#映射80端口
EXPOSE 80
执行nginx命令
CMD ["nginx"]
---------------------------------------------------------------------------------------------------------------------
执行dockerfile
[root@localhost docker-file]# docker build -t my-nginx-1:v1 /opt/docker-file/
当成功后会出现这个,说明执行成功
Successfully built 21273b8e163a
---------------------------------------------------------------------------------------------------------------------
查看镜像
[root@localhost docker-file]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
my-nginx-1 v1 21273b8e163a 14 minutes ago 429.1 MB
---------------------------------------------------------------------------------------------------------------------
使用创建好的镜像启动容器
[root@localhost docker-file]# docker run -dit --name mynginx 21273b8e163a
---------------------------------------------------------------------------------------------------------------------
查看运行的容器
[root@localhost docker-file]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
aa30accbfc06 21273b8e163a "nginx" 3 seconds ago Up 2 seconds 80/tcp mynginx
---------------------------------------------------------------------------------------------------------------------
访问这个容器的80端口,看nginx是否安装启动成功
[root@localhost docker-file]# curl 172.17.0.3
Welcome to nginx!
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
Welcome to nginx!
If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.
For online documentation and support please refer to
Commercial support is available at
Thank you for using nginx.
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
K8S存储插件版本信息与升级方案
新创建的K8S集群默认安装的都是最新的存储插件,但有时特殊情况需要升级插件到某个版本,可以按照以下方式进行操作; 登陆master节点或者控制端,按照以下操作: 升级flexvolume 目前最新版本(v1.12.6.16-1f4c6cb-aliyun) 找到当前flexvolume使用的镜像地址: # kubectl describe daemonset flexvolume -n kube-system | grep Image Image: registry.cn-hangzhou.aliyuncs.com/acs/flexvolume:v1.10.4-98954f6 版本号更新为最新的镜像版本,并用下面命令更新: # curl -fsSL http://aliacs-k8s.oss-cn-hangzhou.aliyuncs.c
- 下一篇
Docker 配置国内镜像仓库
Docker在默认安装之后,当需要下载镜像时,通过命令docker pull learn/tutoral拉取示例镜像,或者其他镜像时,都是访问默认的docker hub 上的镜像,在国内网络环境下,下载一个镜像基本都在半小时或者更长时间,可以考虑使用Registry Mirror配置国内仓库镜像. 使用由DaoCloud提供的Registry Mirror服务,可以让我们在使用拉取镜像命令不变的情况下,拉取速度成倍提升,该配置过程只需三步。 第一步、注册一个DaoCloud账户,注册之后,就可以使用加速器。网站地址:http://www.daocloud.io/ 第二步、根据DaoCloud加速器生成的加速链接,配置docker。 注册成功之后可以进入控制台,然后点击加速器。 点击加速器之后,会进入设置registry-mirror的说明页面。 DaoCloud会给每一个注册用户生成一个url,将这个地址配置到你的docker配置文件即可。 我这里是redhat7操作系统,无法根据她的提示命令配置docker,而且版本是1.12.5,我是手动配置的。修改/etc/docker/dae...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7设置SWAP分区,小内存服务器的救世主
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS关闭SELinux安全模块