Docker 安装学习笔记

Docker安装

传送门https://docs.docker.com/,中文翻译http://widuu.com/docker
官网上介绍的很详细,基本上各个系统的安装方法都有

在自己的系统安装成功后,可以用以下命令从官网下载一个虚拟系统(以ubuntu为例)

$ docker pull ubuntu

docker镜像非常小,ubuntu的镜像大约只有50M
下载成功后,运行以下命令打开虚拟系统的终端

$ docker run -it ubuntu bash 

Docker常用命令

查看系统中所有的容器

$ docker ps -a

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
592376ff3eb8        hello-world         "/hello"            25 seconds ago      Exited (0) 24 seconds ago                       prickly_wozniak

从docker hub上取得镜像

run命令找不到本地镜像时会从docker hub寻找该镜像并下载

$ docker run docker/whalesay cowsay boo

Unable to find image 'docker/whalesay:latest' locally
latest: Pulling from docker/whalesay

e190868d63f8: Downloading 7.013 MB/65.77 MB
e190868d63f8: Downloading 9.717 MB/65.77 MB
0b9bfabab7c1: Download complete 
a3ed95caeb02: Verifying Checksum 
00bf65475aba: Downloading 5.095 MB/37.71 MB
00bf65475aba: Downloading 7.847 MB/37.71 MB
8978f6879e2f: Download complete 
8eed3712d2cf: Download complete 

查看本机中的镜像

$ docker images
REPOSITORY           TAG         IMAGE ID            CREATED            SIZE
docker/whalesay      latest      fb434121fc77        3 hours ago        247 MB
hello-world          latest      91c95931e552        5 weeks ago        910 B

images将列出所有在本地安装的镜像

删除本机中的镜像

$ docker rmi -f <REPOSITORY>
$ docker rmi -f <IAMGE ID>

可以根据仓库名称或者镜像ID删除

执行命令

$ docker run <REPOSITORY> <command>

比如使用docker/whalesay运行cowsay命令

$ docker run docker/whalesay cowsay boo-boo
  _________
 < boo-boo >
  ---------
     \
      \
       \
                     ##        .
               ## ## ##       ==
            ## ## ## ##      ===
        /""""""""""""""""___/ ===
   ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
        \______ o          __/
         \    \        __/
           \____\______/

保存docker镜像到指定目录

$ docker save <REPOSITORY> -o <outputfile>

Dockerfile

Dockerfile存在于docker镜像中,用来描述使用软件的环境和需要执行的命令

创建一个Dockerfile

1.新建一个文件夹

$ mkdir mydockerbuild

这个文件夹将作为你创建镜像的环境,即这个文件夹下的文件用于创建镜像

$ cd mydockerbuild

进入文件夹

2.创建Dockerfile

$ touch Dockerfile

用各种文本编辑器都可以,这里以vim为例

$ vim Dockerfile

3.编辑Dockerfile

FROM docker/whalesay:latest

使用FROM 说明docker基于哪一个镜像

RUN apt-get -y update && apt-get install -y fortunes

使用RUN 执行命令安装软件(fortunes这个软件用于随机打印一些名人名言)

CMD /usr/games/fortune -a | cowsay

当镜像所需要的软件都安装完之后,使用CMD 命令执行

最终编辑完的Dockerfile中有如下内容:

 FROM docker/whalesay:latest
 RUN apt-get -y update && apt-get install -y fortunes
 CMD /usr/games/fortune -a | cowsay

4.保存Dockerfile

通过Dockerfile创建镜像

$ docker build -t <REPOSITORY> <PATH>

根据刚才编写的Dockerfile创建一个镜像

$ docker build -t docker-whale .
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM docker/whalesay:latest
...
Step 2 : RUN apt-get -y update && apt-get install -y fortunes
...
Step 3 : CMD /usr/games/fortune -a | cowsay
 ---> Running in a8e6faa88df3
 ---> 7d9495d03763
Removing intermediate container a8e6faa88df3
Successfully built 7d9495d03763

docker build 会使用当前目录下的Dockerfile

运行镜像

首先查看本机中有哪些镜像

$ docker images 
REPOSITORY           TAG          IMAGE ID          CREATED             SIZE
docker-whale         latest       7d9495d03763      4 minutes ago       273.7 MB
docker/whalesay      latest       fb434121fc77      4 hours ago         247 MB
hello-world          latest       91c95931e552      5 weeks ago         910 B```

运行Docker镜像

$ docker run docker-whale
  _________________________________________
 / "He was a modest, good-humored boy. It  \
 \ was Oxford that made him insufferable." /
  -----------------------------------------
           \
            \
             \
                           ##        .
                     ## ## ##       ==
                  ## ## ## ##      ===
              /""""""""""""""""___/ ===
         ~~~ {~~ ~~~~ ~~~ ~~~~ ~~ ~ /  ===- ~~~
              \______ o          __/
               \    \        __/
                 \____\______/

Docker Hub

Tag and push 镜像

$ docker tag <IMAGE ID> YourHubID/repoName
$ docker images 

$ docker login
$ docker push

现在去DockerHub上查看仓库,可以看到刚刚push的操作

pull 新的镜像

$ docker run <REPO_name_on_hub>

docker run找不到本地镜像的话会从HUB上去下载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TaQini852

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值