标签:打开 webapp image 环境 私有 *** 文件系统 部署 安装
Docker是一个开源的应用容器,用户可以将web程序和服务打包到一个轻量级、可以移植的容器中,然后发布到任务流行的Linux服务器上,实现虚拟化。同时完全是沙箱操作,即Docker内部是一个沙箱操作,项目之间不会有任何接口,并且开销极低。
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
sudo systemctl start docker
chkconfig docker on
docker run hello-world
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
# 国内加速镜像
# 网易加速器:http://hub-mirror.c.163.com
# 官方中国加速器:https://registry.docker-cn.com
sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
Docker重要的基础概念:仓库,镜像,容器
docker ps -- 查看当前运行在容器中的程序
docker pull image_names -- 拦截镜像文件 image_name镜像文件的名称
docker images -- 查看当前容器中的镜像文件
docker rmi imageName --删除镜像文件
sudo docker login
Username: ***
Password:
Email: ***
1. mkdir workdir
2. cd workdir
3. touch Dockerfile 添加如下内容:
# Version: 0.0.1
FROM ubuntu:14.04
MAINTAINER Wangzhe0912 "Wangzhe0912@tju.edu.cn"
RUN apt-get update
RUN apt-get install -y nginx
RUN echo "Hi, I am your contrainer" > /usr/share/nginx/html/index.html
EXPOSE 80
代码含义:
1.每个Dockerfile的第一行指令都应该是FROM开头。FROM用于制定一个已经存在的镜像,后续指令都是基于该镜像来运行。这个镜像我们称之为基础镜像。
2.MAINTAINER后说明该作者和作者邮箱信息。
3.接下来是三条RUN指令。默认情况下,指令后的内容会通过/bin/sh -c来执行。
4.最后设置了EXPOSE,该指令用于指定容器内的应用程序会使用哪些端口(可以指定多个)。PS:出于安全考虑,默认Docker不会自动打开这些端口,
5.需要在docker run指令中指定需要打开的端口
4.构建镜像
docker build -t="wangzhe0912/nginx:v1"` . (后面有一个点,表示执行当前目录下的Dockerfile文件,-t="wangzhe0912/nginx:v1"指定了新生成镜像的镜像名称,也可以从git仓库中寻找docker build -t="wangzhe0912/nginx:v1"` git@github.com:wangzhe0912/docker_web)
Dockerfile构建的好处是如果某一步执行失败了,以前面的镜像存储于缓存中,如果再次构建时会利用该缓存,如果不想,则执行
sudo docker build --no-cache -t="wangzhe0912/nginx:v1" .
如果想利用缓存,则需要在第一个RUN之前指定: ENV REFRESHED_AT 2018-01-28该命令行。如果该缓存变化了,则重新构建,如果没有变化,则会利用该缓存中的镜像。
如下:
# Version: 0.0.1
FROM ubuntu:14.04
ENV REFRESHED_AT 2018-01-28
MAINTAINER Wangzhe0912 "Wangzhe0912@tju.edu.cn"
RUN apt-get update
5.将镜像推送到hub仓库中 sudo docker push wangzhe0912/nginx
作为一种轻量级的虚拟化方式,Docker在运行应用上跟传统的虚拟机方式相比具有显著优势:
标签:打开 webapp image 环境 私有 *** 文件系统 部署 安装
原文地址:https://www.cnblogs.com/skyice/p/10159436.html