DOCKER常用命令及参数
DOCKER镜像管理命令:
检索:docker search image_name
下载:docker pull image_namge
查看本地镜像:docker images
删除:docker rmi image_id
DOCKER容器命令:
运行:
以守护进程方式启动:docker run --name container_name -d image_name
以交互方式启动,并进行命令行界面:docker run --name contain_name -i -t image_name
ctrl-z退出当前命令行,docker attach contain_name再进入
--link=container_name or id:name 使用这个选项在你运行一个容器时,可以在此容器的/etc/hosts文件中增加一个额外的name主机名,这个名字为container_name的容器的IP地址的别名。这使得新容器的内部进程可以访问主机名为name的容器而不用知道它的Ip
查看:docker ps
-a:查看所有的容器包括已经停止运行的
停止:docker stop contianer_name/contain_id
启动:docker start container_name/container_id
端口映射:docker run -d -p 6378:6379 --name port-redis redis
删除:docker rm container_id/container_name
DOCKERFILE:创建自定义image,包含用户指定的软件,依赖等
当前目录下包含dockerfile,使用命令build来创建新的image,命名为edwardsbean/centos6-1.7
docker build -t edwardsbean/centos6-1.7
dockerfile的关键字
FROM:基于哪个镜像
RUN:安装软件
MAINTAINER:镜像创建者
CMD:container启动时执行的命令,但一个dockerfile中只能有一个CMD命令,多条执行最后的一条
ENTRYPOINT:同CMD,但是如dockerfile中有CMD ["echo", "hello world"]和ENTRYPOINT ["echo", "hello world"]时,执行docker run image_name dir,前一个会输出目录信息,后一个是hello world dir,和CMD用于执行初始化脚本
USER:使用哪个用户跑
EXPOSE:开启的端口
ENV:环境变量(ENV <key> <VALUE>)
ADD:将文件拷贝到image的文件系统中,本地,URL( ADD <src> <dst>)
COPY:本地文件首先用,不解压(COPY <src> <dst>)
VOLUME:将本地的文件或其他container文件挂载到container中,VOLUME mountpoint
WORKDIR:切换目录,对RUN CMD ENTRYPOINT生效
FROM java:8-jre MAINTAINER m242565210 ADD ./apache-tomcat-8.5.23.tar.gz /opt/ ENV TOMCAT_HOME /opt/apache-tomcat-8.5.23 ENV PATH $PATH:$TOMCAT_HOME/bin EXPOSE 8080 WORKDIR /opt/apache-tomcat-8.5.23/bin ENTRYPOINT sh ./startup.sh && \ tail -f /opt/apache-tomcat-8.5.23/logs/catalina.out
Docker容器后台运行,就必须有一个前台进程。容器运行的命令如果不是那些一直挂起的命令(比如运行top
,tail),就是会自动退出的
COMPOSE的命令
build(构建或重构服务),help,kill,logs,port,ps,pull,restart,rm(删除停止的容器),run(运行一个一次性命令),start,stop,up