Docker容器

docker学习笔记

本文主要是介绍docker学习笔记,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

一、基本知识

1.核心思想

隔离:通过隔离机制,既可以保障每个"集装箱里面的东西"是互不影响的,也可以将服务器的资
源压榨到最大程度。

2.开发语言

Go

3.官方文档

Docker Documentation | Docker DocumentationHome page for Docker's documentationhttps://docs.docker.com

4. docker hub:

Docker Hubhttps://hub.docker.com/

二、docker和虚拟机的区别

1. VM虚拟出完整的操作系统,而docker直接运行在宿主机的内核上,没有自己的内核和虚拟硬件,所以更加小巧轻便。
2. VM是操作系统级别的虚拟化docker是内核级别的虚拟化。
3. VM 比docker更重,更消耗资源,启动速度远远慢于docker。
4. docker可以实现快速的运维部署。
5. docker更便捷的升级和扩窑/缩容。
6. 可以更高效的利用物理机的硬件资源

三、docker使用

1.安装docker

官方安装步骤:https://docs.docker.com/get-started/overview/

1.1 安装前的准备阶段— — 卸载老版本

sudo yum remove docker \
    docker-client \
    docker-client-latest \
    docker-common \
    docker-latest \
    docker-latest-logrotate \
    docker-logrotate \
    docker-engine

1.2 使用仓库进行安装

sudo yum install -y yum-utils

sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo

1.3 安装docker引擎

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

1.4 启动docker

sudo systemctl start docker

1.5 验证docker引擎是否安装完毕

sudo docker run hello-world

1.6 配置docker国内镜像地址(加快镜像下载速度)

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":
["https://aa25jngun.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

2.docker启动相关命令

官网文档链接: https://docs.docker.com/reference/

2.1 查看下载的镜像列表

docker images

2.2 重新加载docker

sudo systemctl daemon-reload

2.3 重启docker

sudo systemctl restart docker

3.docker基础命令

3.1 查看版本

docker version

3.2 显示docker信息

docker info

3.3 帮助命令(一个命令不知道可以添加哪些参数,可以使用--help 进行查询)

docker [命令] --help
例:docker version --help
    docker info --help 等

4.docker镜像命令

4.1 显示本机所有镜像

docker images

4.2 搜索镜像(也可以在docker hub上直接搜索  Docker Hub)

docker search xxx
例:docker search mysql 搜索结果如下:
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11409     [OK]
mariadb                           MariaDB Server is a high performing open sou…   4334      [OK]
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   847                  [OK]

4.3 下载镜像

docker pull xxx [版本]
注:版本为可选项,不指定下载最新

4.4 删除镜像

#根据id删除某一个镜像
docker rmi -f [IMAGE ID]
#根据ids删除很多镜像,空格分隔
docker rmi -f [IMAGE ID] [IMAGE ID] [IMAGE ID] [IMAGE ID]
#根据查询结果进行删除(查询结果只能是id)  q参数为只显示id
docker rmi -f $(docker images -aq)

5.docker容器命令

5.1 查询运行中的docker容器(类似于linux中的ps)

docker ps     #只显示正在运行的容器
docker ps -a  #显示所有的容器包括已经停止的

5.2 查看容器的top信息 查询容器id可以使用 docker ps -a 命令

docker top [容器id]

5.3 查看容器元数据信息

docker inspect [容器id]

5.4 进入容器

docker attach [容器id]

5.5 退出容器

exit         #退出容器,回到宿主机,同时结束容器运行
CTRL + D     #与exit相同
CTRL+P+Q     #退出容器,回到宿主机,不影响容器运行

5.6 将主机中的文件拷贝到容器中

docker cp 本地文件 [容器id]:容器中路径

5.7 将容器中的文件拷贝到主机中

docker cp [容器id]:容器中文件 本地路径

5.8 查看容器状态(类似于linux的top命令,近乎实时刷新)

docker stats

5.9 运行容器

docker run [可选参数] image
常用参数: 
    -it 交互式 启动之后进入容器
    -d 后台启动容器
    -v 进行路径映射
    -p 进行端口映射

5.10 查询容器列表

docker ps [OPTIONS]

5.11 删除容器

docker rm [OPTIONS] CONTAINER [CONTAINER ... ]
-f 强制删除

5.12 启动容器

docker start [容器id]
docker restart [容器id]

5.13 停止容器

docker stop [容器id]
docker kill [容器id]  #强制停止

**************此文章只是本人学习过程中的学习笔记,不做其他用途,如果有其他意见,欢迎一起讨论,谢谢,侵删*************************

这篇关于docker学习笔记的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!