Docker–学习记录
Docker的安装卸载
卸载旧版本
安装新版本之前,卸载旧版本及关联的依赖。
docker yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
Docker安装
常见的安装方法如下
- 通过设置Docker存储库进行下载,方便安装和升级;
- RPM包安装,手动管理升级(不能连接外网的情况下可以使用这种方法);
- 使用自动化脚本安装docker。
存储库安装
- docker稳定版安装软件包,设置存储库(推荐)
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装Docker引擎
安装过程中会有需要填写Y/N,填写Y即可
sudo yum install docker-ce docker-ce-cli containerd.io
也可以安装指定版本,VERSION_STRING填写官方支持的版本号
sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
- 启动Docker
sudo systemctl start docker
- 测试Docker是否安装正确
下面的命令会下载hello-world这个image镜像并在容器中运行,它会打印一条消息并推出
sudo docker run hello-world
# 下面的是执行命令的结果
Unable to find image 'hello-world:latest' locally #在本地没找到hello-world镜像
latest: Pulling from library/hello-world #远程拉取镜像
2db29710123e: Pull complete
Digest: sha256:975f4b14f326b05db86e16de00144f9c12257553bba9484fed41f9b6f2257800
Status: Downloaded newer image for hello-world:latest
Hello from Docker!
This message shows that your installation appears to be working correctly.#docker安装成功
其他版本:test和nightly存储库(测试版和最新版本,相关详情介绍请参考:安装 Docker 引擎|Docker 文档:
启用nightly通道
sudo yum-config-manager --enable docker-ce-nightly
禁用nightly通道
sudo yum-config-manager --disable docker-ce-nightly
启用test通道
sudo yum-config-manager --enable docker-ce-test
RPM包安装
- 从官网选择对应版本的RPM包下载, centos下Docker下载
- 安装Docker引擎,将下面的路径更改为下载Docker程序包的路径(上一步下载后放在服务器上的路径)
sudo yum install /path/to/package.rpm
- 启动Docker
后续验证同存储库安装sudo systemctl start docker
第三种安装方式自动化脚本安装参考官方安装文档。
卸载Docker
卸载Docker引擎,CLI和容器包
sudo yum remove docker-ce docker-ce-cli containerd.io
删除主机上的镜像,容器,卷(卸载不会自动删除)
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
其他自定义修改的配置文件需要手动删除。
设置镜像加速
vim /etc/docker/daemon.json #如果文件不存在就新建一个
# 写入内容{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}
# 科大镜像:https://docker.mirrors.ustc.edu.cn/
# 网易:https://hub-mirror.c.163.com/
# 阿里云:https://<你的ID>.mirror.aliyuncs.com
systemctl restart docker #配置后重启docker
配置阿里云仓库
用户名输入阿里云账号全名,回车后输入远程镜像仓库密码
docker login --username="用户名" registry.cn-hangzhou.aliyuncs.com
阿里云的常用场景
标记本地镜像,将其归入远程仓库
docker tag demo:v1 registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
将本地仓库推送到远程镜像
docker push registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
拉取指定版本的远程镜像
docker pull registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
运行拉取的远程镜像
docker run -d -p 8000:80 registry.cn-hangzhou.aliyuncs.com/space_test/demo:v1
访问helloworld服务
curl localhost:8000
Docker基础命令
- docker 常用命令参数
可以使用docker --help查看(多用这个命令)
总结来说,使用方法就是 docker [OPTIONS] COMMAND,这些命令的作用可以参考Docker命令译文
比如上面我们安装测试完镜像后,可以查看运行的镜像()
docker image ls
docker image list
docker images
- 下载镜像
docker search #查找镜像
docker pull #拉取镜像
- 运行镜像
docker run
- 下载并运行一个centos镜像容器(会先在本机寻找,如果找不到,则会下载并启动)
docker run -it centos /bin/bash
在这里,docker run是docker的一个组合命令,作用是运行一个容器
-i 在新容器内指定一个终端或者伪终端
-t 运气在容器内的标准输入进行交互(可以输入一些基础命令,不是完整的Linux命令)
- 退出容器
exit
使用exit或者快捷键CTRL+D退出容器
-
查看运行中容器
docker ps docker ps -a #查看所有容器,包括停掉的
-
进入容器
docker exec id/name
docker attach id/name
#后面参数可以使用容器id或者name,exec和attach的区别在于退出容器的时候exec不会停止容器
- 删除容器
docker rm $(docker ps --filter status=exited -q) # 筛选已停止的容器并删除
docker rm -f CONTAINER #删除正在运行的容器
# -v删除与容器关联的匿名卷
# -l删除指定的链接
- 删除镜像
docker rmi IMAGEID
# -f 强制删除镜像
- 重启容器
docker restart id/name
持续学习更新中……
docker相关文章: