Docker 的简单使用

docker 的使用

参考:docker官方文档

参考:菜鸟教程

参考:掘金docker分栏

一、Docker的使用

1、输入docker查看所有命令选项
#  通过命令更深入的了解指定的Docker命令使用方法。
## docker [command] --help
docker stats --help
2、docker 有三个核心概念:Image、Container、Repository。
  • Image: Docker 中的镜像是分层的,可复用的,而非简单的一堆文件迭在一起。
  • Container: 容器的存在离不开镜像的支持,他是镜像运行时的一个载体(类似于实例和类的关系)。
  • Repository: Docker 的仓库,拥有仓库名(repositiry)、tag。在本地构建完镜像之后,即可通过仓库进行镜像的分发。

二、容器使用

1、获取镜像
# 载入ubuntu镜像
docker pull ubuntu

在这里插入图片描述

2、启动容器
#  进入ubuntu镜像
## docker run -it --rm [CONTAINER ID] /bin/bash
## docker run -it --rm [IMAGE] /bin/bash
docker run -it ubuntu /bin/bash

在这里插入图片描述
参数说明:

  • -i: 交互式操作。
  • -t: 指定一个伪终端或终端。
  • -d: 后台运行。
  • –rm: 只执行一次ctrl+c后就删除,多用于测试环境
  • ubuntu: 镜像名or镜像id。
  • /bin/bash: 在启动的容器里执行的命令。
3、退出镜像
# 或者使用 CTRL+D 
exit

在这里插入图片描述

4、查看Docker中的容器
docker ps -a

在这里插入图片描述

  • CONTAINER ID: 容器 ID。
  • IMAGE: 使用的镜像。
  • COMMAND: 启动容器时运行的命令。
  • CREATED: 容器的创建时间。
  • STATUS: 容器状态。
    • created(已创建)
    • restarting(重启中)
    • running 或 Up(运行中)
    • removing(迁移中)
    • paused(暂停)
    • exited(停止)
    • dead(死亡)
  • PORTS: 容器的端口信息和使用的连接类型(tcp\udp)。
  • NAMES: 自动分配的容器名称。
#  docker启动容器
## docker start [CONTAINER ID]
docker start fa1af690b0cb 
#  docker关闭容器 
## docker stop [CONTAINER ID]
docker stop fa1af690b0cb 
#  docker重启容器 
## docker restart [CONTAINER ID]
docker restart fa1af690b0cb 
5、后台运行
#  注:-itd 等价于 -i -t -d
#  注2:加了-d参数默认不会进入容器
## docker run -itd --name [NAMES] [IMAGE] [COMMAND]
docker run -itd --name ubuntu-test ubuntu /bin/bash
6、进入容器

在使用 -d参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:

  • docker attach:
    #  注:退出容器终端会导致容器的停止
    ## docker attach [CONTAINER ID]
    docker attach 1e560fca3906 
    
  • docker exec: 推荐使用
    ## docker exec -it [CONTAINER ID] [COMMAND]
    docker exec -it 243c32535da7 /bin/bash
    
7、导出和导入容器
  • 导出容器:
    ## docker export [CONTAINER ID] > [file.tar]
    docker export 1e560fca3906 > ubuntu.tar
    
  • 导入容器:
    ## cat */[file.tar] | docker import - [REPOSITORY]:[TAG]
    cat docker/ubuntu.tar | docker import - test/ubuntu:v1
    
8、删除容器
## docker rm -f [CONTAINER ID]
docker rm -f 1e560fca3906
9、清理掉所有处于终止状态的容器
docker container prune

三、镜像的使用

1、列出镜像列表
docker images

在这里插入图片描述

  • REPOSITORY: 表示镜像的仓库源。
  • TAG: 镜像的标签。
  • IMAGE ID: 镜像ID。
  • CREATED: 镜像创建时间。
  • SIZE: 镜像大小。
2、指定镜像版本运行
## docker run -t -i [REPOSITORY]:[TAG] /bin/bash
## docker run -t -i [IMAGE ID] /bin/bash
docker run -t -i ubuntu:15.10 /bin/bash

如果你不指定一个镜像的版本标签,例如你只使用 ubuntudocker 将默认使用 ubuntu:latest 镜像。

3、查找镜像
## docker search [NAME]
docker search mongodb

在这里插入图片描述

  • NAME: 镜像仓库源的名称。
  • DESCRIPTION: 镜像的描述。
  • OFFICIAL: 是否 docker 官方发布。
  • STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED: 自动构建。
4、拉取镜像
## docker pull [REPOSITORY] 不填默认latest镜像
## docker pull [REPOSITORY]:[TAG]
docker pull mongo

在这里插入图片描述

5、删除镜像
## docker rmi [REPOSITORY]:[TAG]
## docker rmi [IMAGE ID]
docker rmi mongo
6、创建镜像
1)更新镜像
  • 使用镜像来创建一个容器。

    ## docker run -t -i  [REPOSITORY]:[TAG]
    ## docker run -it  [IMAGE ID]
    docker run -t -i ubuntu:15.10 /bin/bash
    
  • 使用 apt-get update 进行更新。

  • 提交容器副本。

    ## docker commit -m=[descriptor] -a=[author] [CONTAINER ID] [REPOSITORY]:[TAG]
    docker commit -m="has update" -a="lgl" 9ceea5d5deff lgl/ubuntu:v2
    
    • -m : 提交的描述信息。
    • -a : 指定镜像作者。
    • 9ceea5d5deff : 容器 ID。
    • lgl/ubuntu:v2 : 目标镜像名以及版本号。
2)使用 Dockerfile 指令来创建一个新的镜像
cat Dockerfile 
FROM    centos:6.7
MAINTAINER      Fisher "fisher@sudops.com"

RUN     /bin/echo 'root:123456' |chpasswd
RUN     useradd runoob
RUN     /bin/echo 'runoob:123456' |chpasswd
RUN     /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local
EXPOSE  22
EXPOSE  80
CMD     /usr/sbin/sshd -D
## docker build -t [REPOSITORY]:[TAG] .
docker build -t runoob/centos:6.7 .

在这里插入图片描述

  • -t : 指定要创建的目标镜像名。
  • . : Dockerfile文件所在目录,可以指定Dockerfile 的绝对路径。
7、设置镜像标签
## docker tag [IMAGE ID] [REPOSITORY]:[TAG]
docker tag 2fae2c5d6c70 new/lgl:dev

在这里插入图片描述

8、导出镜像
##  docker save -o [fileName].tar [REPOSITORY]:[TAG]
docker save -o lgl.tar new/lgl:latest

在这里插入图片描述

9、导入镜像
## docker load -i [fileName].tar
docker load -i lgl.tar
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值