docker学习
1.docker初学
1)docker概述
# Docker是一个开源的应用容器引擎,基于Go语言,并遵从Apache2.0协议开源。
# Docker可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。
# 容器是完全使用沙箱机制,相互之间不会有任何接口(类似iPhone的app),更重要的是容器性能开销极低。
2)docker的基本组成
- 镜像(Image) :docker镜像就好比一个模板,我们可以通过这个模板来创建容器服务,tomcat镜像===>run==>tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。
- 容器(container):docker利用容器技术,独立运行一个或者一组应用。通过镜像来创建、启动、停止、删除、基本命令!目前就可以把这个容器理解为就是一个简易的linux系统。
- 仓库(repository):仓库就是存放镜像(image)的地方!仓库又可以分为公有仓库和私有仓库
2.docker安装
1)卸载系统之前可能安装的docker
# 防止版本不一致,产生冲突,但一般我们使用我们新开的服务器就没有这种可能,这一步可以省略
- sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
- (在CentOS中,“\”符号表示执行下一行指令
2)安装docker-CE基本环境
# 安装必须的依赖,安装所需的软件包:
- sudo yum install -y yum-utils
#设置仓库,设置 docker repo 的 yum 位置
- sudo yum-config-manager \
–add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
# 安装 docker,以及 docker-cli(使用Docker仓库进行安装)
- sudo yum install docker-ce docker-ce-cli containerd.io
3) 启动 docker
- 启动Docker:sudo systemctl start docker
- 开启自启动Docker:systemctl enable docker
- 注意:以上操作均在[adming~]操作指令下进行,但启动docker时应在[root~]操作指令下,输入:sudo su 进入[root~]操作指令后再进行以上启动docker的指令
完成Docker的安装
3.docker基本命令
1)docker进程相关命令
- 启动docker服务 systemctl start docker
- 停止docker服务 systemctl stop docker
- 重启docker服务 systemctl restart docker
- 查看docker服务状态 systemctl status docker
- 开机启动docker服务 systemctl enable docker
- 查看dockers版本型号 docker version
docker info
2)docker镜像相关命令
- docker search 镜像id或name:在Docker Hub(或其他镜像仓库如阿里镜像)仓库中搜索关键字的镜像
- docker pull 镜像id或name:从仓库中下载镜像,若要指定版本,则要在冒号后指定
- docker images:列出已经下载的镜像,查看镜像
- docker rmi 镜像id或name:删除本地镜像
- docker rmi -f 镜像id或name: 删除镜像
- docker build:构建镜像
3)docker容器相关命令
- docker ps:列出运行中的容器
- docker ps -a : 查看所有容器,包括未运行
- docker stop 容器id或name:停止容器
- docker kill 容器id:强制停止容器
- docker start 容器id或name:启动已停止的容器
- docker inspect 容器id:查看容器的所有信息
- docker container logs 容器id:查看容器日志
- docker top 容器id:查看容器里的进程
- docker exec -it 容器id /bin/bash:进入容器
- docker rm 容器id或name:删除已停止的容器
- docker rm -f 容器id:删除正在运行的容器
- docker exec -it 容器ID sh :进入容器
4.dockerfile学习
1)什么是dockerfile
- dockerfile是一种用于定义和构建docker镜像的文本文件。它包含一系列的指令和参数,用于描述镜像的构建过程,包括基础映像、软件包安装、文件拷环境变量设置等。
- 通过编写dockerfile,可以将应用程序、环境、和依赖项打包成一个独立的容器镜像,使其可以在不同的环境和平台上运行,实现应用程序的可移植性和可扩展性。
总的来说,dockerfile是定义和构建docker镜像的文本文件,通过编写指令和参数来描述镜像的构建过程和配置,以实现应用程序的打包和部署。它是使用docker进行容器化开发和部署的重要工具。
2)dockerfile构建步骤
- 1.编写dockerfile文件
- 2.docker build 构建镜像
- 3.docker run 镜像
基础知识
* 每条保留字指令都必须为大写字母且后面要跟随至少一个参数
* 指令按照从上到下,顺序执行
* # 表示注释
* 每条指令都会创建一个新的镜像层,并对镜像进行提交
3)dockerfile指令
4)构建镜像命令
- 编译好dockerfile,将他编译成镜像
- docker build -f Dockerfile -t mycentos:1.0 .(点代表当前目录)
(-f:等价于--file,指定 dockerfile 文件;-t:等价于--tag,指定输出的镜像文件名:版本号)
- docker history 查看镜像的变更历史
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 wyz's blog!