Docker 基础知识

Docker 基础知识

Docker的基本概念和常用的指令

Docker 三大基础组件

仓库(Repository)、 镜像(Image)、 容器(Container)

仓库: Docker 官方提供的一个Docker 的仓库,用来存储已经安装好的镜像。可以通过

# 可以通过search 来查看你想要的的镜像
docker search image-name 
# 然后通过pull拉取你想要的镜像
docker pull image-name 
# 从而通过 run 运行你拉取下来的镜像
docker run -p 3306:3306 -name TestMysql ‐v /conf/mysql:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD="mysqlpassword"

来拉取镜像。

镜像: 就是一个完整的软件包。

容器: 用户就可以利用Docker镜像创建Docker容器,容器会启动预先定义好的进程与用户交互,对外提供服务。容器都是基于镜像而创建的,基于一个镜像可以创建若干个名字不同但功能相同的容器。

  • docker 可以查看所有的命令 一下是主要的用的几个

  • docker pull 拉取仓库中的镜像

  • docker search 查询仓库镜像

  • docker run 创建并启动Docker 容器

 #run 参数说明
 #  -d  表示可以后台运行
 # -name 表示容器名称
 #  -v 将容器的对应文件进行挂载
 #  -env 设置环境变量     
#  -p  对于端口的映射
# --appendonly 这个是直接设置redis 的启动参数 --requirepass  
# 这里设置的参数和后面讲的Dockerfile 文件里面的设置run 是差不多的

docker run -p 6377:6379 --name redis -v /d/docker/data/redis:/data  -d redis redis-server --appendonly yes --requirepass "sunbird.top“
  • docker ps 查看docker 相关容器的进程

  • docker images 查询已经下载的镜像

  • docker build 自己创建一个镜像

  • docker inspect [] 通过docker id 查询 容器信息

  • docker commit [dockerid] [NAME] 提交docker容器,创建新的镜像

容器管理
  • docker exec + 容器名 + 容器内执行的命令 可以查看容器内部信息

  • docker exec it + 容器的id或者容器名称 可以进入容器内部

  • docker stop 停止已经启动的容器

docker-compose
  • docker-compose 是用ymal 文件对于docker 来进行容器操作

安装

sudo curl -L https://github.com/docker/compose/releases/download/1.6.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

将docker-compose 设置为可执行文件

sudo chmod +x /usr/local/bin/docker-compose

创建一个文件夹 wordpress ,在文件夹下创建yml 文件:

wordpress : ## 容器名称 
    image : wordpress ## 镜像名称
    links :  ## 容器互联
      - db : mysql
    ports :
       - 8080:80 ## 端口映射
db : ##第二个容器
  image : mysql
  environment : ## 环境变量设置
    MYSQL_ROOT_PASSWORD: example

然后可以通过 docker-compose up 来启动

cd ../
/woedpress &&docker-compose up

Docker 镜像

获取镜像

docker search  ubuntu  查询镜像

docker pull ubuntu 从dockerHub 上面拉取镜像

## 如果从非官方的仓库下载,则需要在仓库名称前指定完整的仓库地址。例如从网易蜂巢的镜像源来下载ubuntu:14.04镜像,可以使用如下命令,此时下载的镜像名称为hub.c.163.com/public/ubuntu:14.04:

docker pull hub.c.163.com/public/ubuntu:14.04
## 查看本地的所有的镜像
docker images 
##还可以使用docker tag命令来为本地镜像任意添加新的标签。例如添加一个新的myubuntu:latest镜像标签:
docker tag ubuntu:latest myubuntu:latest

##使用docker inspect命令可以获取该镜像的详细信息,包括制作者、适应架构、各层的数字摘要等
docker inspect ubuntu 
镜像的分层

镜像所占用的磁盘空间远远小于所有镜像之和,因为Docker 镜像是采用分层机制,相同部分独立成层,只需要存储一份就可以了。
分层有两个特性: 一个是已经有的分层只能读,不能修改,另外上一个镜像优先级高于底层镜像
可以通过 docker history 来查看docker 镜像的分层

Dockerfile

Dockerfile 用来管理镜像

FROM  ## 表示镜像是基于某一个镜像上面进行构建的
MAINTAINER ## 指定该镜像的创建者
ENV ## 设置环境变量
RUN ## 运行shell 命令如果有多条命令可以用“&&”连接。
COPY ## 讲编译机本地文件拷贝到镜像文件系统中
EXPOSE ## 指定的监听端口
ENTRYPOINT ##这个关键字是欲执行命令,在创建镜像时不执行,等到使用镜像的时候再执行
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值