1. $ decker images # 查看本地镜像文件
  2. $ docker run -p 8080:80 -d daocloud.io/nginx # 启动nginx,启动之后显示的一长串
  3. -p 表示将容器中nginx80端口映射到本地的8080端口
  4. -d 表示允许进程直接返回,当做守护进程执行。
  5. $ docker ps # 查看当前正在运行的docker进程
  6. $ docker stop id # 通过docker进程id 停止相关服务
  7. $ docker rmi imageid # 通过imageid删除image进程
命令 用途
docker pull 获取image
docker build 创建image
docker images 列出imnages
docker run 运行container
docker ps 列出container
docker rm 删除container
docker rmi 删除image
docker cp 在hosts和container之间拷贝文件
docker commit 保存改动为新的image
FROM base image
RUM 执行命令
ADD 添加文件
COPY 拷贝文件
CMD 执行命令
EXPOSE 暴露端口
WORKDIR 指定路径
MAINTAINER 维护者
ENV 设定环境变量
ENTRYPOINT 容器入口
USER 指定用户
VOLUME mount point

Dockerfile

通过编写简单的文件自创docker镜像

1、创建Dockerfile文件,内容如下

FROM alpine:lastest      # 基础镜像使用alpine
MAINTAINER xbf                # 没有特殊意义,注解,共享时告诉别人这个镜像是我写的
CMD echo "hello docker"  # 执行一条命令 echo "hello docker"

2、使用命令通过编写的文件创建一个镜像,名称为hello_docker

docker build  -t hello_docker ./

3、运行image

docker run hello_docker

第二个Dockerfile

内容如下:

FROM centos
MAINTAINER xl
RUN yum update -y
RUN yum install -y nginx
COPY index.html /var/www/html
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
#RUN nginx
EXPOSE 80

镜像分层

Dockerfile中的每一行都产生一个新层

FROM alpine:latest 123dsfasf
MAINTAINER xl 1wfas23fsaf
CMD echo “hello docker” 3slfjadsfss23

registry —> 镜像仓库

image.png
术语

English 中文
host 宿主机
image 镜像
container 容器
registry 仓库
daemon 守护进程
client 客户端

Registry 交互命令

docker search  whalesay       # 搜索仓库中的镜像
docker pull    whalesay       #下载仓库中的镜像到本地
docker push myname/whalesay   #上传本地镜像到仓库中

国内的一些仓库

时速云
阿里云

Registry 实战

多容器app

compose

compose-install-linux
curl -L https://github.com/docker/compose/releases/dowload/1.9.0/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose

docker-compose.yml常用命令
命令 用途
build 本地创建镜像
command 覆盖缺省命令
depends 连接容器
ports 暴露端口
volumes
image pull镜像
up 启动服务
stop 停止服务
rm 删除服务中的各个容器
logs 观察各个容器的日志
ps 列出服务相关的容器