docker 的安装与使用

为什么要用docker

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

docker的安装

使用国内的daocloud一键安装docker:

curl -sSL https://get.daocloud.io/docker | sh

docker镜像的使用

docker 查看本地镜像:

# 这两条命令是等价的
$ sudo docker images
$ sudo docker image ls
csdn_test@My-Ubuntu:~/桌面$ sudo docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
php_php-fpm             latest    6c7433e2d587   2 weeks ago    187MB
phpdockerio/php74-fpm   latest    6c7433e2d587   2 weeks ago    187MB
myubuntu                latest    50ecb1eab6a9   2 weeks ago    75MB
wordpress               latest    c2dd1984ad5b   2 weeks ago    551MB
nginx                   latest    d1a364dc548d   4 weeks ago    133MB
ossrs/srs               latest    2070fa4a7a41   8 weeks ago    242MB
ubuntu                  20.04     7e0aa2d69a15   2 months ago   72.7MB
training/webapp         latest    6fae60ef3446   6 years ago    349MB

参数介绍:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

当然,也可以用docker下载一个新的镜像,比如这里我下载一个mysql镜像:

$ sudo docker pull mysql:5.7

通过pull去下载一个新的镜像,当然5.7也可以省略,docker默认会下载一个最新的mysql镜像,或者也可以直接新建容器让docker自动下载一个最新的镜像。

docker删除镜像操作,这里同样以mysql为例:

# 以下两种方法任选一种
$ sudo docker rmi mysql
$ sudo docker image rm mysql

docker 容器的使用

拉取下来镜像之后,需要新建一个容器才能运行。

启动容器

$ sudo docker run -it ubuntu /bin/bash

参数介绍:

  • -i: 交互式操作。
  • -t: 终端。
  • ubuntu: ubuntu 镜像。
  • /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。

镜像也可以后台运行

$ sudo docker run -d --name nginx --rm nginx

参数介绍:

  • -d后台运行镜像。
  • –name:给这个镜像赋予一个名字。
  • –rm:关闭这个容器后自动删除容器。
  • nginx:nginx镜像。

也可以通过-p参数来重定向端口。

查看容器

sudo docker ps -a
  • -a是查看所有容器,如果不带 -a 则只查找正在运行的容器。

停止一个容器

$ sudo docker stop nginx

启动一个已有的容器

$ sudo docker start nginx

删除容器

$ sudo docker rm <容器id/name>

也可以一键删除所有容器

sudo docker rm -f `docker ps -aq`

容器的挂载

docker run -it -v 主机目录:容器目录就可以实现主机和容器目录的挂载,数据就会同步。

Dockerfile文件的创建

Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。
Dockerfile指令:

指令详解操作
FROM定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。FROM 镜像
RUN用于执行后面跟着的命令行命令。RUN <命令行命令>
COPY复制指令,从上下文目录中复制文件或者目录到容器里指定路径。COPY [–chown=< user >:< group >] <源路径1>… <目标路径>
CMD容器开启时运行的命令,与RUN命令类似CMD <shell 命令>
ENV设置环境变量。ENV < key1 >=< value1 > < key2 >=< value2 >…
WORKDIR指定工作目录。WORKDIR <工作目录路径>
USER用于指定执行后续命令的用户和用户组。USER <用户名>[:<用户组>]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值