Docker

docker 是⼀个⽤ Go 语⾔实现的开源项⽬,可以让我们⽅便的创建和使⽤容器, docker 将程序以及
程序所有的依赖都打包到 docker container ,这样你的程序可以在任何环境都会有⼀致的表现,程序的表现只跟容器有关系,跟容器放在哪个操作系统没有关系。

如何使用docker

dockerfile (⽤来构建 docker 镜像的构建⽂件)中指定需要哪些程序、依赖什么样的
配置,之后把 dockerfile 交给 " 编译器 " docker 进⾏ " 编译 " ,也就是 docker build 命令,
⽣成的可执⾏程序就是 image ,之后就可以运⾏这个 image 了,这就是 docker run 命
令, image 运⾏起来后就是 docker container

docker指令

镜像仓库

docker pull:拉取镜像

docker push:推送镜像到仓库

docker logs:查看容器日志

docker exec:查看运行中的容器

本地镜像管理

docker save:导出镜像为文件

docker load:从文件导入镜像

docker images:列出本地镜像

docker rmi:删除本地镜像

docker run:创建并启动镜像

容器管理

docker stop:停止运行中的容器

docker start:启动停止的容器

docker ps:查看容器状态

docker rm:删除容器

Docker构建过程

Docker安装

查看系统内核

uname -r 4.18.0-80.11.2.el8_0.x86_64

yum更新到最新

sudo yum -y update

更新gcc:

yum -y install gcc

yum -y install gcc-c++

安装docker依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

设置yum源

阿里云 (推荐)

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

清华大学源 (推荐)

sudo yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo

更新yum软件包索引

yum makecache fast

查看仓库的docker版本

yum list docker-ce --showduplicates | sort -r

安装docker

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

启动docker并添加到自动开机

sudo systemctl start docker

systemctl enable docker

systemctl restart docker

暂停docker

systemctl stop docker

查看docker版本

docker --version

测试

ps -ef|grep docker

docker version

卸载docker

systemctl stop docker

yum remove docker-ce docker-ce-cli containerd.io

rm -rf /var/lib/docker

rm -rf /var/lib/containerd

docker常用指令

docker --help #Docker帮助

docker --version #查看Docker版本

docker search <image> #搜索镜像文件,如:docker search mysql

docker pull <image> #拉取镜像文件, 如:docker pull mysql

docker images #查看已经拉取下来的所以镜像文件

docker rmi <image> #删除指定镜像文件

docker run --name <name> -p 80:8080 -d <image> #发布指定镜像文件

docker ps #查看正在运行的所有镜像

docker ps -a #查看所有发布的镜像

docker rm <image> #删除执行已发布的镜像

Dockerfile

在Docker中构建镜像最常用的方式,就是使用Dockerfile。Dockerfile是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明。官方文档:https://docs.docker.com/engine/reference/builder![](https://i-blog.csdnimg.cn/direct/80c05004966a4d29b8d7da258faf2278.png)

dockerfile常用指令

FROM #当前镜像基于那个

MAINTAINER # 指明镜像维护者及其联系方式

LABEL # 镜像指定标签

RUN # 构建镜像时运行的shell

ADD ...# 拷贝文件或目录到镜像,src 可以是一个本地文件,还可以是一个url。然后自动下载和解压

COPY ...# 拷贝文件或目录到镜像,不支持自动下载和解压

EXPOSE [/...] # 暴露容器运行时的监听端口给外部,可以指定端口是监听 TCP 还是 UDP,如果未指定协议,则默认为 TCP

ENV=...# 设置容器内的环境变量

CMD ["executable","param1","param2"] # 启动容器时执行的Shell命令。在Dockerfile中只能有一条CMD指令。如果设置了多条CMD,只有最后一条会生效

ENTRYPOINT ["executable", "param1", "param2"] # 启动容器时执行的 Shell 命令,同 CMD 类似,不会被 docker run 命令行指定的参数所覆盖,如果设置了多条ENTRYPOINT,只有最后一条会生效

WORKDIR param # 为 RUN、CMD、ENTRYPOINT 以及 COPY 和 AND 设置工作目录

VOLUME ["param"] #指定容器挂载点到宿主机自动生成的目录或其他容器。

参考链接:https://blog.csdn.net/weixin_44823875/article/details/131578800?ops_request_misc=&request_id=&biz_id=102&utm_term=docker%E6%9E%84%E5%BB%BA%E8%BF%87%E7%A8%8B&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-131578800.142^v102^pc_search_result_base8&spm=1018.2226.3001.4187

相关推荐
木子.李3472 小时前
ssh连接远程服务器相关总结
运维·服务器·ssh
晚风吹人醒.3 小时前
SSH远程管理及访问控制
linux·运维·ssh·scp·xshell·访问控制·远程管理
DigitalOcean4 小时前
DigitalOcean容器注册表推出多注册表支持功能
容器
necessary6534 小时前
使用Clion查看linux环境中的PG源码
linux·运维·服务器
江湖有缘6 小时前
Jump个人仪表盘Docker化部署教程:从0到 搭建专属导航页
运维·docker·容器
Lam㊣6 小时前
Centos 7 系统docker:更换镜像源
linux·docker·centos
FL16238631296 小时前
win11+WSL+Ubuntu-xrdp+远程桌面闪退+黑屏闪退解决
linux·运维·ubuntu
挖土机_0087 小时前
Kubernetes 1.35 原地扩容(In-Place Pod Resize)完整解析:机制、差异与实战示例
docker·kubernetes
AOwhisky7 小时前
Linux逻辑卷管理:从“固定隔间”到“弹性存储池”的智慧
linux·运维·服务器
05大叔8 小时前
大事件Day02
运维·服务器