Docker基础使用:镜像与容器

812 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第11天,点击查看活动详情

前言

大家好,我是小阵 🔥,一路奔波不停的码字业务员
如果喜欢我的文章,可以关注 ➕ 点赞,与我一同成长吧~😋
加我微信:zzz886885,邀你进群,一起学习交流,摸鱼学习两不误🌟

开开心心学技术大法~~

开心

来了来了,他真的来了~

正文

之前一直说看一下docker,一直没时间,最近看了下docker相关的使用情况,特此整理。

基础使用

镜像操作

搜索官方镜像库

docker search node

比如搜索node

image-20220809133539868

获取镜像

docker pull node:latest

比如安装node:15.0.0

image-20220809133920121

查看镜像列表

docker image list
# 或者
docker images

导出镜像到本地

docker image save node:15.0.0 > node_15_0_0.tar.gz

node:15.0.0镜像导出到当前目录的node_15_0_0.tar.gz压缩文件中

删除镜像

docker image rm node:15.0.0

导入镜像

docker image load -i node_15_0_0.tar.gz

将刚才导出的镜像再导入到docker镜像列表中

查看镜像详细信息

docker image inspect node:14.16.0

image-20220809134230609

容器操作

运行一个容器

有以下几种方法运行容器

这里的demo目录下只有一个index.js,内容为console.log('hello world')

  1. docker run demo
    

    image-20220809134941864

  2. docker create demo
    

    create之后会生成一个容器id,然后用这个容器id运行

    docker start 容器id
    

    这种开启方式需要两步,相对来说比较麻烦

查看运行中的容器

docker container ls
# 或者 
docker ps

例如我刚才开启了两个demo容器

image-20220809134825294

查看所有容器信息

docker ps -a

查看容器详细信息

docker container inspect 容器名称/id

image-20220809135051864

停止容器

docker stop 容器名称/id
# 或者
docker container kill 容器名称/id

未启动容器启动且进入容器内部

针对还未run的容器,一般只是进入容器内部的终端

docker run -it node:14.16.0 /bin/bash

image-20220809135346975

离开容器内部终端

ctrl+p & ctrl+q

注意,是先键入ctrl + p,再键入ctrl + q

已启动容器进入容器内部

  1. docker attach 容器id
    

    比如我之前启动了

    image-20220809140225307

    现在要进入demo容器内部

    docker attach e6556fc83fdc
    

    image-20220809140305053

  2. docker exec -it 容器id  /bin/bash
    

删除所有容器

docker rm -f  `docker ps -a -q`
# -f 强制删除

启动时对端口进行映射

换言之,就是针对有hhtml界面的,可以直接映射到一个本地域名,类似于开启一个本地服务器

docker run -d -p 8888:80 hello-docker:1.0.0

比如我这里的hello-docker:1.0.0镜像目录下只有一个index.hmlt,内容为

<h1>Hello docker</h1>

则运行之后的效果是

image-20220809141604245

其中参数-d表示后台运行,如果不加-d的话,运行记录会在当前终端内打出

image-20220809141736334

加了-d之后就是

image-20220809141810412

注意,后台运行的时候,要想再次改动之后重新开启容器,需要先把之前后台运行的容器给干掉

另外,指定端口的映射方式有以下几种方式

image-20220809141942382

还可以随机映射

docker run -P (大P)# 需要镜像支持

结语

以上整理来自于这里

如果文章真的有帮到你,希望可以多多点赞、收藏、关注支持一波呀!!小阵会很开心哒~

文章如有错误或不严谨之处,还望指出,感谢感谢!!!

加油!

往期好文推荐「我不推荐下,大家可能就错过了史上最牛逼vscode插件集合啦!!!(嘎嘎~)😄」