Hits

Docker基本操作介绍

Docker基本操作

docker基本命令

# 查询所有容器,不要参数 -a 就是查看正在运行的容器
docker ps -a

# 删除没有运行的容器
docker rm $(docker ps -a -q)

Dockerfile理解

Dockerfile构造一个镜像,作用是从无到右的构造一个镜像,docker run即是将构造好的镜像启动成一个容器。

# Version 1.0
FROM ubuntu:latest
MAINTAINER "lzw@gmail.com"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hello World!' > /usr/share/nginx/html/index.html
# COPY index.html /var/www/html
EXPOSE 80 80

# 构建一个nginx
docker build -t lzw/hello-nginx .

# 运行一个容器
docker run -d -p 80:80 lzw/hello-nginx # -d 是后台启动,nginx -g daemon off前台启动一个nginx

# 测试启动的容器
curl -i localhost

Dockerfile其他语法

  • FROM 基础容器,base image
  • RUN 执行命令
  • ADD 添加文件
  • COPY 拷贝文件
  • CMD 执行命令
  • EXPOSE 暴露端口
  • WORKDIR 指定路径
  • MAINTAINER 维护者
  • ENV 设定环境变量
  • ENTRYPOINT 容器入口
  • USER 指定用户
  • VOLUME mount point,挂载的卷

Dockerfile文件的每一行对应一个镜像的每一层

Volume持久化存储

Volume提供独立于容器之外的持久化存储,并且可以提供容器与容器直接的数据共享。

# 运行一个nginx,-v 挂载一个卷
docker run -d --name nginx -p 9999:80 -v /usr/share/nginx/html nginx

# 检查容器,查看容器挂载在本地的路径
docker inspect nginx

# 将当前路径的html路径挂载到容器内指定路径
docker run -p 9999:80 -d -v $PWD/html:/usr/share/nginx/html nginx
# 将本地路径下的文件修改掉,对应容器内的文件也会被修改。

# 容器数据共享,创建一个容器挂载本地文件路径的容器
docker create -v $PWD/data:/var/mydata --name data_container ubuntu

# 运行一个新的容器,并挂载上面的文件容器,data_container容器对应目录下的数据修改,该容器的数据也会被修改
docker run -it --volumes-from data_container ubuntu /bin/bash

Registry镜像仓库

  • host 宿主机
  • image 镜像
  • container 容器
  • registry 仓库
  • daemon 守护进程 -d 开启, -g daemon off 关闭
  • client 客户端

与Registry交互

  • docker search whalesay ## 搜索一个镜像
  • docker pull whalesay ## 拉取一个镜像
  • docker push myname/whalesay ## 提交一个镜像

现有的Registry提供的网站: hub.docker.com, 阿里云, 时速云, DaoCloud

## docker 提交一个镜像
docker search whalesay ## 搜索
docker pull docker/whalesay  ## 拉取
docker tag docker/whalesay liuzhiwang/whalesay ## 复制一个
docker push liuzhiwang/whalesay   ## push到hub.docker.com,没有权限失败
docker login ## username password等

docker-compose使用

docker-compose根据配置文件docker-compose.yml启动一系列的服务,例如,现在有一个mysql镜像,nginx镜像,php镜像,将这些镜像的启动命令一次性配置到docker-compose.yml文件中,以后启动这三个镜像就只要一个命令docker-compose up -d (-d后台启动)就可以了。

docker-compose 基本命令

  • docker-compose up -d
  • docker-compose stop
  • docker-compose rm
  • docker-compose build
  • docker-compose down

本文链接:参与评论 »

--EOF--

提醒:本文最后更新于 322 天前,文中所描述的信息可能已发生改变,请谨慎使用。

专题「docker相关知识学习」的其它文章 »

Comments