docker入门笔记
tags: 网站
修改日期:2019年02月18日
版本:v1.0
作者:whl
[toc]
一、基本概念
1、image
docker镜像。可类比于操作系统的安装镜像,如centos官方镜像,创建并启动容器后,内部就是完整的centos环境;其它应用软件或运行环境除基本的操作系统环境,还预装了软件/软件环境。如python3镜像启动容器时可直接使用命令 python3
。
docker镜像的获取方式有三种:
- 使用
docker pull
命令从docker hub拉取。常用方式,一般为获取官方镜像。 - 使用Dockerfile创建。一般封装私有镜像时使用。
- 使用现有镜像/容器快照文件还原。一般迁移容器/镜像时使用。
2、container
docker容器。容器基于镜像创建,是镜像的单个运行实例。基于同一镜像创建的容器拥有相同的初始环境(镜像状态),但不同容器拥有自己的独立状态及环境。
3、dockerd
docker daemon。docker 后台服务,负责管理容器、镜像、卷并响应docker-cli发送的相关命令。docker daemon一般由syetemd管理启停,也可手动执行命令 dockerd
。
4、docker-cli
docker命令行工具。负责用户命令交互并发送至docker-daemon执行。
二、常用命令
1、docker-cli
# 查看docker版本
docker version
# 查看当前运行容器
docker ps
# 查看所有容器
docker ps -a
# 创建一个容器
docker run -d --name=example1 centos:7 /bin/bash
# 停止容器
docker stop example1
# 重启容器
docker restart example1
# 删除容器
docker rm example1
# 查看本地镜像
docker images
# 移除镜像
docker rmi centos:7
2、获取镜像
创建容器时需指定镜像,镜像tag一般用于标识镜像版本,未指定时默认使用latest,即使用最新版本;若本地不存在容器创建所需镜像,docker会自动从docker官方仓库拉取。
关于国内镜像加速:
可使用阿里云容器服务获取国内加速链接,相关配置教程详见阿里云容器控制台。
# 下载镜像
docker pull centos
# 使用tag下载特定版本镜像
# 可在docker hub 搜索相关镜像获取其所有版本
docker pull centos:7
docker pull centos:7.6.1810
3、创建容器
# 创建容器
docker run -d --name= my-centos01 centos:7 /bin/bash
参数详解;
run
create 与 start命令的集合,创建并启动一个容器。
-d
后台运行容器,防止前台shell退出导致容器停止运行。
--name
命名容器。若未指定,docker会随机命名。
centos:7
镜像名称及tag。
/bin/bash
容器执行的命令(程序),原则上容器运行完命令后就完成工作并处于停止状态。对于需常驻后台的容器,可以启动一个shell并结合-d参数使容器常驻后台运行。
4、连接容器
docker exec -it my-centos01 /bin/bash
参数详解;
exec
使容器运行指定命令,当前命令启动了一个可交互的shell。
-it
将容器内输入输出连接至当前shell。
4、连接容器
//TODO