Docker命令笔记

勤加练习,记住

本文参考:大佬的文章

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案,使用Docker,开发和测试可以快速部署和迁移环境,并且能保证环境的一致性,从而提升软件的开发和维护效率。

与虚拟机相比,docker有优点也有缺点,具体可以看下图:

特性容器虚拟机
启动秒级分钟级
硬盘使用一般为MB一般为GB
性能接近原生弱于
系统支持量单片机支持上千个容器一般是几个

docker安装

linux换源

https://blog.csdn.net/qq_40520596/article/details/110194439

自动安装:

curl -sSL https://get.daocloud.io/docker | sh

手动安装:

1.删除旧版本

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine \
                  docker-ce

2.设置源仓库

第二步,设置仓库。新主机上首次安装Docker Engine-Community之前,需要设置Docker仓库。此后可从仓库安装和更新Docker。
在设置仓库之前,需先按照所需的软件包。yum-utils提供了yum-config-manager,并且device mapper存储驱动程序需要device-mapper-persistent-data和lvm2。
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
执行上述命令,安装完毕即可进行仓库的设置。使用官方源地址设置命令如下:
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

通常,官方的源地址比较慢,可将上述的源地址替换为国内比较快的地址:

阿里云:http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
清华大学源:https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

仓库设置完毕,即可进行Docker的安装。

3.安装

sudo yum install -y docker-ce docker-ce-cli containerd.io

yum install -y docker-ce

安装参考:https://juejin.cn/post/7125218891642437640

docker

docker的整个生命周期有三部分组成:镜像(image)+容器(container)+仓库(repository);

容器是由镜像实例化而来,这和我们学习的面向对象的概念十分相似,我们可以把镜像看作类,把容器看作类实例化后的对象.

也可以说镜像是文件, 容器是进程。 容器是基于镜像创建的, 即容器中的进程依赖于镜像中的文件, 这里的文件包括进程运行所需要的可执行文件, 依赖软件, 库文件, 配置文件等等…

图片[1],Docker命令笔记,网络安全爱好者中心-神域博客网
图片[2],Docker命令笔记,网络安全爱好者中心-神域博客网

docker进程相关命令:

systemctl start docker  #启动docker服务
systemctl stop docker     #停止docker服务
systemctl restart docker#重启docker服务
systemctl status docker #查看docker服务状态
systemctl enalbe docker #设置开机自启动服务
systemctl disable dockers #关闭开机自启动

docker容器管理命令:

docker run -i -t ubuntu:17.10 /bin/bash

参数说明:
-i: 保持容器运行.通常于-t同时使用.加入it这两个参数后,容器创建后自动进入容器中,退出后,容器自动关闭
-t: 为容器从新分配一个伪终端,通常与-i同时使用.
-d: 以守护(后台)模式运行容器,创建一个容器在后台运行,需要使用docker exec进入容器.退出后,容器不会关闭
-it: 创建的容器一般称伪交互式容器
–name: 为创建的容器命名

docker ps #查看正在运行的容器
docker ps -s -a #查看当前所有容器
docker stop 容器名称 #停止容器
docker restart 容器名称 #重启容器
docker kill 容器名称 #杀死容器
docker rm -f 容器名称或容器id #删除已经停止的容器
ps:
1.docker kill和docker stop的区别与联系
相同点:两者都是停掉容器,并把容器状态指定到stopped。 不同点:被kill杀死容器,进入stopped状态被重新start后,会开启新的进程号;被stop停掉的容器,再次被重新start后,进程号不变,还是原来的
2.停止所有容器运行:docker stop $(docker ps -a -q)
删除所有停止运行的容器:docker rm $(docker ps -a -q)   # $()返回括号中执行的任何结果
3.这部分内容有更细的参考:
https://www.cnblogs.com/davis12/p/14456227.html
https://twle.cn/l/yufei/docker/docker-basic-run.html
https://www.jb51.net/article/277278.htm

docker镜像管理命令

docker images               #查看当前机器的所有镜像
docker images -q        # 查看当前所有镜像的id
docker search 镜像名称     # 搜索镜像,网络中查找需要的镜像
docker pull 镜像名称    #从Docker仓库拉取镜像,名称:版本号
docker push 镜像名称    #推送镜像
docker rmi 镜像名称/镜像id #删除本地机器的镜像
docker rmi docker images -q #删除所有本地镜像
docker tag 镜像名称:tag 镜像名称:tag  #为一个镜像打tag
docker save {image_name}.tar #解压一个镜像tar包

docker 查看日志信息

docker logs -f 容器名称 #查看容器日志
docker info #查看docker服务的信息
docker inspect 容器名称 #获取镜像的元信息,详细信息

与容器交互的命令:

进入正在运行的容器

docker exec -it 容器ID或者容器名 /bin/bash

`exec的意思是在容器中运行一个命令. /bin/bash是固有的写法,作用是因为docker后台必须运行一个进程,否则容器就会退出,在这里表示启动容器后自动bash

退出容器

exit #退出也关闭容器;
Ctrl+p+Q #退出不关闭容器

创建启动容器时,使用-v参数设置数据卷

docker run … -v 宿主机目录或文件

数据卷是宿主机的一个目录或文件
目录必须是绝对路径
如果目录不存在,会自动创建
可以挂载多个数据卷

拷贝文件

docker cp 主机文件路径 容器ID或容器名:容器路径 #宿主机文件拷贝到容器中

docker cp 容器ID或容名:容器路径 主机文件路径 #容器文件考本到宿主机中

作业

图片[3],Docker命令笔记,网络安全爱好者中心-神域博客网
------本文已结束,感谢您的阅读------
THE END
喜欢就支持一下吧
点赞9 分享
评论 共12条
头像
善语结善缘,恶语伤人心
提交
头像

昵称

取消
昵称常用语 夸夸
夸夸
还有吗!没看够!
表情图片
    • 头像Name Heaney0
    • 头像Zelma Heathcote0
    • 头像Gaylord Douglas0
    • 头像Georgianna Padberg0
    • 头像Mabel Kutch0
    • 头像Catherine Labadie0
    • 头像Shakira Hand0
    • 头像Jaren McDermott0
    • 头像Alverta Gutmann0
    • 头像Harmon Brakus0
    • 头像Kurtis Beier0
    • 头像Joaquin Waters0