开发者学堂课程【现代应用容器技术快速入门第三课时:容器技术基础(3)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/830/detail/13952
容器技术基础(3)
内容简介
1. 安装docker
2. 配置阿里云镜像加速
3. 常用docker 命令
1. 安装docker
docker CE : docker 社区版本
docker EE : docker 企业版本
1. 清除旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
2. 安装
sudo apt-get updatesudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get install docker-ce docker-ce-cli containerd.io
3.测试docker
sudo docker run hello-world
2. 配置阿里云镜像加速
1. 去阿里云的Docker容器镜像服务进行申请
2. 登录后,先新建一个名称空间
3. 新建一个镜像仓库
选择本地仓库即可
4. 配置镜像加速器
命令如下:
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://自己的token.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
5. 测试
docker run hell-world
3.常用docker命令
| 查看本机镜像
docker images [option] #列出本机上的所有镜像#显示结果的表头含义如下
#RESPITORY 镜像的仓库源
#TAG 镜像的标签【统一仓库源可以有多个TAG,用于规定不同版本】
#IMAGE ID 镜像
#CREARED 镜像的创建时间
#SIZE 镜像大小
# option:
# -a 列出本地所有的镜像(包含中间映像层)
# -q 只显示镜像ID
# --digests 显示镜像的摘要信息
# --no-trunc 显示完整的镜像信息
| 仓库中搜索镜像
docker search [options] #在远程库搜索镜像#option
# --no-trunc 显示完整的镜像描述
# -s 列出收藏不小于number的镜像
# --automated 只列出 automated build类型的镜像
| 获取镜像
docker pull [:TAG] #从远程库获取指定镜像,添加版本则获取指定版本,不添加则获取最新版
| 删除镜像
docker rmi -f #删除指定镜像ID的镜像docker rmi -f #删除多个
| commit镜像
docker commit -m="commitInfo" -a="author" <要创建的目标镜像名>:[标签名]
容器指令
| 新建容器并运行
docker run [options] [command] [arg...] #新建并启动容器# options 说明
# --name=名字 :为容器指定一个名称
# -d 后台运行,并返回容器ID,也即启动守护式容器
# -i 以交互模式运行容器
# -t 为容器重新分配一个伪输入终端,通常与 -i 一起使用
# -P 随机端口映射
# -p 指定端口映射
# 演示:
docker run -it -p 80:8080 tomcat # 创建Tomcat容器并启动,同时将宿主机的80端口映射给容器8080端口
| 查看容器
docker ps [options]# options
# -a 列出当前所有正在运行的+历史上运行过的容器
# -l 列出最近所创建的容器
# -n 显示最近number个创建的容器
# -q 只显示容器编号
| 退出容器
exit #容器停止并退出ctrl+P+Q #容器不停止退出
| 重启&启动&停止容器
docker start #启动容器docker restart #重启容器
docker stop #停止容器
docker kill #强制关闭容器
| 查看容器日志
docker logs [options] # options
# -t 加入时间戳
# -f 跟随最新的日志打印
# --tail 显示
| 查看容器内进程
docker top #显示当前容器内部进程
| 进入【正在运行】的容器并以命令行交互
docker exec -it docker attach
| 从容器内拷贝文件到主机上
docker cp :
| 容器数据卷
卷就是目录或文件,存在于一个或多个容器中,由docker 挂载到容器。卷的设计目的就是数据的持久化,完全独立于容器的生命周期,因此docker 不会再容器删除时删除其挂载的数据卷。
特点:
1. 数据卷可在容器主键共享或重用数据
2. 卷中的更改可以直接生效
3. 数据中的更改不会包含在镜像的更新中
4. 数据卷的生命周期一直持续到没有容器使用它为止
| 添加容器和宿主机间的目录映射
docker run -it -v : #可读写docker run -it -v ::ro #只读