docker 备注
1、docker 安装
#安装环境为centos 7 yum -y install docker service docker start #测试是否安装成功,可执行命令 docker run hello-world
2、采用Dockerfile创建镜像
2.1 Dockerfile的基本命令
- FROM:第一条命令,表示基于哪个镜像
- RUN:需要执行的Linux指令
- CMD:运行容器时的默认参数
- ENTRYPOINT:指定容器的进入点
- EXPOSE:对外暴露的端口号
- ENV:指定环境变量的值
- ADD:从源系统的文件系统上复制文件到目标容器的文件系统,如果源文件是个归档文件(压缩文件),则docker会自动帮解压
- COPY: 同ADD,只是不会自己解压;
2.2 Dockerfile例子
FROM ubuntu MAINTAINER Fredric ADD ./apache-tomcat-7.0.79.tar.gz /opt ADD ./jdk-7u25-linux-x64.tar.gz /opt ADD ./docker_demo.war /opt/apache-tomcat-7/webapps ENV JAVA_HOME /opt/jdk1.7.0_80 ENV PATH $JAVA_HOME/bin:$PATH ENTRYPOINT /opt/apache-tomcat-7.0.79/bin/startup.sh && tail -F /opt/apache-tomcat-7.0.79/logs/catalina.out
2.3 根据Dockerfile构建镜像
docker build -t web_app:1.0 ./docker/
备注:在docker目录下找文件名为Dockerfile的文件,并以此构建一个名字为web_app,TAG为1.0的镜像
2.4 根据该镜像创建容器
#端口映射,将宿主机的80端口映射至docker的8080端口 docker run --name="web" --net="bridge" -p 80:8080 -t -i web_app:1.0 /bin/bash
备注:--name表示容器的名称,--net表示网络设置类型,此时为桥接 -p为端口映射。以本文为例在192.168.1.12的虚拟机上安装该容器,完成映射后,访问192.168.1.12则会跳转至容器的8080端口tomcat应用。
3、其他常用命令
docker images #显示当前有效的镜像 docker pull ubuntu:14.10 #获取一个新的镜像 docker search httpd #查找镜像 从 Docker Hub 网站来搜索镜像,Docker Hub 网址为:https://hub.docker.com/ #修改镜像源 sudo echo “DOCKER_OPTS=\”\$DOCKER_OPTS –registry-mirror=http://demo_test_002.m.daocloud.io -d\”” >> /etc/default/docker sudo service docker restart docker ps # 显示当前的docker进程 docker stop # 停止一个容器 此时用docker ps -a 仍然可以看到 docker start # 启动一个容器 docker rm # 删除一个容器 此时用docker ps -a 无法看到 docker cp /home/docker/test.txt tomcat-server:/opt/ #用容器ID和容器名字都可以