1. 卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
1 | $ sudo apt-get remove docker docker-engine docker.io containerd runc |
当前称为 Docker Engine-Community 软件包 docker-ce 。
2. 添加GPG密钥并添加更新源
将清华镜像的GPG密钥下载下来并且将该镜像加入到系统配置的镜像中去。
1 | curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add - |
把清华的镜像添加进系统配置。
1 | echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list |
3. 系统更新以及安装docker
系统更新,必须的
1 | apt-get update |
安装dokcer
1 | apt-get install docker-ce |
4. 启动docker服务器
1 | service docker start |
5. 安装compose
1 | apt-get install docker-compose |
6. Docker安装测试(hello-world)
1 | docker run hello-world |
成功运行第一个docker项目。
7. 卸载 docker
删除安装包:
1 | sudo apt-get purge docker-ce |
删除镜像、容器、配置文件等内容:
1 | sudo rm -rf /var/lib/docker |
8. docker容器的操作
运行时的容器无法删除,只能停止后删除,或者加上-f参数强制删除
启动容器
1 | //docker run 容器的名字 |
启动守护式容器
1 | docker run -i -t 容器名 /bin/bash |
退出守护容器
1 | exit |
查看运行中的容器
1 | 格式 docker ps [-a] [-l] |
查看所有的容器
1 | docker ps -a |
查看所有容器的id
1 | docker ps -aq |
停止容器
1 | docker stop 容器id或容器名称 |
重启容器
1 | docker start 容器id或容器名称 |
删除容器
1 | docker rm 容器id或容器名称 |
停用全部运行中的容器
1 | docker stop $(docker ps -q) |
删除全部容器
1 | docker rm $(docker ps -aq) |
停用并删除容器
1 | docker stop $(docker ps -q) & docker rm -f $(docker ps -aq) |
9. 镜像的操作
下载镜像
1 | docker pull redis:latest |
获取镜像有两种方式:
从官方镜像仓库下载
通过Dockerfile文件构建
通过docker-compose.yml文件构建并运行镜像
1
docker-compose up
列出已下载的镜像
1 | docker images |
运行镜像
1 | docker run -d redis |
查看redis进程
1 | ps -ef | grep redis |
查看容器镜像状态
1 | docker ps |
进入容器
1 | docker exec -it 镜像ID bash |
删除镜像
1 | docker rmi redis:latest |
10. 遇到的问题
解决报错Error response from daemon: Get https://registry-1.docker.io/v2/: net/http: TLS handshaketimeout
通过dig @114.114.114.114 registry-1.docker.io
找到可用IP地址
修改/etc/hosts
强制docker.io相关的域名解析到其它可用IP
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Fstraw Blog!
评论