Docker介绍

什么是docker?

“Docker”这个单词有“码头工人”的意思,码头工人的工作就是把货物装到集装箱里,然后把集装箱搬到货船上面。Docker 就是借鉴了这种做法,想一想,集装箱有什么好处呢?在一艘大货船上,所有货物装成集装箱就可以方便快捷地摆放在一起,并且各种各样的集装箱的规格都被标准化了,不管货物是什么,只要装到集装箱里面,就可以一次性被运走,而不必把不同的货物分开运输。

Docker 就使用了这种思想。Docker 就像一个码头工人,把可以运行的 Linux 系统装载到一个个容器(container)里,这些容器就像一个个“装载了 Linux 系统”的集装箱。就像每个集装箱都有自己的货物一样,每个容器都像一个独立的 Linux 系统一样可以运行指定的程序。比如,一个容器可以作为 Web 服务器,另一个容器作为数据库服务器。

集装箱之间互不影响。同样,容器之间也都是独立的,一个容器不能操作另一个容器的资源,因此可以很好地隔离运行环境。每个容器都像一个独立的操作系统,拥有操作系统运行需要的所有配置和代码

 

docker的安装

windows下安装docker:https://www.runoob.com/docker/windows-docker-install.html

 

docker常用命令

docker pull container_name:tag拉取镜像

docker images查看所有镜像

docker run --name=first_container container_name:tag /bin/bash创建并执行一个镜像

exit退出镜像

docker exec first_container /bin/bash进入镜像

docker start first_container启动镜像

docker cp XXX.txt container_ID:/root把本地文件复制到容器中

 

docker常用命令

镜像仓库

命令

解释

使用

pull

从镜像仓库中拉取或者更新指定镜像

docker pull 镜像地址

  • -a 拉取所有tagged镜像
    • docker pull -a java从Doker Hub下载REPOSITORY为java的所有镜像
  • --disable-content-trust 忽略镜像的校验,默认开启

push

将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

docker push name[:TAG]

  • --disable-content-trust:忽略镜像的校验,默认开启

search

查找镜像

docker search name

  • -s 列出收藏数不小于指定值的镜像
    • docker search -s 10 java
  • --no-trunc显示完整的镜像描述

 

本地镜像管理

命令

解释

使用

images

列出本地镜像

docker images

返回信息:

REPOSITORY:表示镜像的仓库源

TAG:镜像的标签

IMAGE ID:镜像ID

REPOSITORY  TAG  IMAGE ID  CREATED  SIZE

mymysql  3.5  37af1236adef  5 minutes ago  329 MB

  • -a 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
  • -f 显示满足条件的镜像
  • -q 只显示镜像ID
  • -digests 显示镜像的摘要信息

rmi

删除本地一个或多个镜像

docker rmi IMAGE

  • -f 强制删除
  • --no-prune不移除该镜像的过程镜像

build

使用 Dockerfile 创建镜像

docker build [OPTIONS] PATH | URL | -

  • -f 指定要使用的Dockerfile路径
  • --tag,-t镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签
  • --network 默认default,在构建期间设置RUN指令的网络模式

 

生命周期管理

命令

解释

使用

start

stop

restart

start :启动一个或多个已经被停止的容器

stop :停止一个运行中的容器

restart :重启容器

docker start CONTAINER(可以用容器名字或ID)

docker stop CONTAINER

docker restart CONTAINER

run

创建一个新的容器并运行一个命令

docker run REPOSITORY:TAG

  • -i: 以交互模式运行容器,通常与 -t 同时使用
  • --name="nginx-lb": 为容器指定一个名称
  • --link=[]: 添加链接到另一个容器
  • --net="bridge": 指定容器的网络连接类型
    • host为使用主机的网络
    • bridge 使用docker daemon指定的网桥
    • container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源
    • none 容器使用自己的网络(类似--net=bridge),但是不进行配置
  • docker run -p 127.0.0.1:80:8080/tcp ubuntu bash
    • 绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上
  • docker run -it nginx:latest /bin/bash
    • 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令

rm

删除一个或多个容器

docker rm name1 name2删除多个容器

  • -f 强制删除运行中的容器
  • -l 移除容器间的网络连接,而非容器本身
  • -v 删除与容器关联的卷

create

创建一个新的容器但不启动它

docker create IMAGES

exec

在运行的容器中执行命令

docker exec CONTAINER

  • -t 分配一个伪终端,通常和-i一起,开启一个交互模式的终端
  • -d后台运行

使用exit不是真正退出容器,而是后台运行

 

容器操作

ps

列出容器

docker ps

  • -a列出所有容器,包括未运行
  • -f 根据条件过滤显示的内容
  • -s显示总文件的大小

attach

连接到正在运行中的容器

要attach上去的容器必须正在运行,可以同时连接上同一个container来共享屏幕

docker attach --sig-proxy=false mynginx 容器mynginx将访问日志指到标准输出,连接到容器查看访问信息。

 

容器rootfs命令

commit

从容器创建一个新的镜像

docker commit CONTAINER

  • -a 提交的镜像作者
  • -c使用Dockerfile指令来创建镜像
  • -m提交时说明的文字
  • -p在commit时,将容器暂停

cp

用于容器与主机之间的数据拷贝

docker cp SRC_PATH |- CONTAINER:DEST_PATH

-L保持源目标中的链接

docker cp /www/runoob 96f7f14e99ab:/www/将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下

 

其他

exit 

直接退出容器

 

Ctrl+P+Q

退出容器保持后台运行

 

docker -h

查看docker帮助信息

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值