docker的基本操作

docker

1.安装

在 ubuntu20.04 上使用如下命令(前提是ubuntu配置好了网络,可以正常上网)

sudo apt update
sudo apt install docker.io
docker --version

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0tgyvxD6-1629010544430)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810142539203.png)]

2.修改docker源

由于 docker 默认镜像仓库在海外,所以需要配置国内源来加快镜像拉取速度,配置 /etc/docker/daemon.json ,如果没有该文件就自己创建。

cd /etc/docker
sudo touch daemon.json
sudo vi daemon.json

在文件里面添加如下内容:

{
	"registry-mirrors": [
		"https://hub-mirror.c.163.com"
	]
}

修完完成后使用命令sudo systemctl restart docker重启docker

然后使用docker info | grep -E "registry-http" 查看是否修改成功

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gKHjozPE-1629010544433)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810143025340.png)]

docker 使用

docker ps

docker ps可以查看目前正在运行的容器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YEBRg2oU-1629010544434)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810143205635.png)]

此时没有一个容器在运行,-a 参数是显示所有的容器,上图中的参数含义如下:

  1. CONTAINER ID:它是指容器的id,是一个64位的十六进制数表示的唯一的标识符,在不会混淆的情况下,可以只使用前面几位数标识一个容器。
  2. IMAGE:表示创建容器时使用的镜像
  3. COMMAND:表示容器最后运行的命令
  4. CREATED:创建容器的时间
  5. STATUS:容器的状态,可能显示一个容器的启动时间,或者关闭时间。
  6. PORTS:对外开放的端口
  7. NAMES:容器的名字,如果不设置,有一个默认的名字

添加 -l 参数可以查看最近创建的容器,docker ps -n=2 用来查看最近创建的2个容器,docker ps -n=8用来查看最近创建的8个容器,以此类推。

创建容器

创建容器分为有两种方法,一种是先创建、然后启动,也可以创建、启动一步到位,两个流程都差不多,执行创建命令的时候,会在本地搜索是否有这个镜像,如果没有就去docker hub 上搜索,如果搜索到了就会下载到本地,然后利用镜像创建一个容器并启动。

docker create命令
docker create nginx 
docker ps -a // 创建完成后查看是否完成

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zvDMVlph-1629010544435)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810144605962.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-noZQwNYJ-1629010544436)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810144627520.png)]

使用create命令时候,添加 --name=xxx 可以给容器一个NAME

docker create --name=nginx nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IpAj4Z6r-1629010544437)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810144837875.png)]

docker run命令

docker run 命令,用于启动一个容器,如果本地有就直接启动,本地没有就会去docker hub上面搜索,然后下载到本地,一般应用分为两种类型,一种是后台执行(nginx),一种需要和用户进行交互(比如bash)

以启动nginx为例

docker urn --name nginxTest -d -p 8080:80 nginx

–name 也是表示取一个名字,-d表示在后台运行,-p表示将容器的80的端口映射到宿主机的8080端口

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PjvAqwmy-1629010544438)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810145551898.png)]

在游览器中打开 宿主机ip:端口,会出现如下界面

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dgibvtji-1629010544438)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810145648717.png)]

下面创建ubuntu容器,它是一个交互式容器,说白了就是一个bash

docker run --name ubuntu -it ubuntu /bin/bash

其中 -it 参数,-i 表示开发容器的标准输入(STDIN),t表示告诉docker,为容器创建一个命令行终端,运行成功后就可以在docker里面使用bash,输入exit命令退出。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZlaLKAe0-1629010544438)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810150404622.png)]

docker start命令

对于已经存在的容器,可以使用docker start 命令来启动容器,使用该命令需要指定启动容器的id或者是name,使用如下:

docker start [id | 或者name]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-C6I7qoyg-1629010544439)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810151000478.png)]

可以使用id的前面几位数就可以表示整个容器

docker stop命令

可以通过docker stop 去停止一个容器,使用如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nr7OGgJe-1629010544440)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810151257757.png)]

容器的删除

可以通过docker rm 删除一个没有运行的容器,如果要删除在运行的容器可以在后面加上一个-f参数,删除的时候需要提供id或者name,使用如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fedZEqc7-1629010544440)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810151553695.png)]

也可以批量删除

docker rm $(docker ps -a -q)

docker ps -a -q :会列出所有容器的id,提供给rm删除

docker inspect 命令

docker inspect 命令可以查看容器的详细信息,使用时需要提供容器的id或者name

docker inspect nginx // 提供name
docker inspect 8210 // 提供容器对应的id

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LEFmno5S-1629010544440)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810152856835.png)]

可以使用format 参数查看用户关心的数据

docker inspect -f = '{{.NetworkSettins.IPAddress}}' 容器名/id

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-s0G9LL7V-1629010544441)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810153653795.png)]

docker top命令

可以使用docker top 查看容器中正在运行的进程,首先要保证容器已经启动。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-17WsodH6-1629010544441)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810153911100.png)]

docker logs命令
docker logs [容器名/id]  //用于查看这个容器的日志
docker logs -f [容器名/id]  //用于实时查看这个容器的日志,当日志变化会立马看到
docker logs -f --tail=3 -t [容器名/id]  // --tail显示最后面的3条, -t表示显示时间

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Gmz6zTMC-1629010544441)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810154246141.png)]

镜像简介
docker images

docker images 查看镜像

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XGKt91R9-1629010544442)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810155447969.png)]

docker search

docker search 用于去 docker hub 上面搜索符合要求的镜像

docker search mariadb

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ScdcWsEX-1629010544442)(C:\Users\11311\AppData\Roaming\Typora\typora-user-images\image-20210810155806630.png)]

其中stars越高越可以放心使用,official表示是否为官方镜像,automated:是否使用了自动构建

docker rmi

docker rmi 用于删除镜像,有时候遇到无法删除的镜像,需要将依赖于该镜像的所有容器都删掉,才能删除镜像

docker rmi [镜像名/镜像id]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值