天行健,君子以自强不息;地势坤,君子以厚德载物。
每个人都有惰性,但不断学习是好好生活的根本,共勉!
文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。
docker现在是主流的容器工具,可以很好的实现服务的持续集成和部署,解决了因为机器环境不同造成的问题。可以说一次创建处处运行。
docker运行的环境要求如下:
名称 | 要求 | 描述 |
---|---|---|
操作系统 | 64位 | Docker只支持64位操作系统(Windows、Linux) |
内核版本 | 3.10及以上 | Docker需要在Linux内核3.10及以上的版本上运行 |
网络环境 | 需要联网 | 因为需要下载资源,请保持网络连接。 |
内存大小 | 2G及以上 | 推荐使用2GB的内存来运行Docker。 |
满足以上基本问题不大
可用以下命令查看系统是否满足要求
uname -a
我的系统环境显示如下,内核5.19,操作系统为Linux的x86_64即64位
Linux hanshan2-VirtualBox 5.19.0-46-generic #47~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Wed Jun 21 15:35:31 UTC 2 x86_64 x86_64 x86_64 GNU/Linux
接下来进行安装
我们以Ubuntu系统为例安装Docker,其他系统安装docker也可参考此文。Ubuntu的下载和安装请参考下方链接。
Ubuntu下载安装
在此之前我们需要使用putty工具来连接服务器进行终端的使用
可参考链接
putty下载
putty连接服务器
(之前自己憨憨的使用Linux桌面的终端窗口安装yum,vim,修改文件时复制粘贴不能用直接自己手敲,使用putty等工具连接服务器打开窗口可在本地环境下复制粘贴内容,操作更方便)
以下操作在终端窗口进行
docker有两个系列,一个docker.io 一个docker-ce
区别如下
系列 | 维护 | 包管理方式 |
---|---|---|
docker.io | Debian团队 | apt的方式管理依赖包 |
docker-ce | Docker官方 | go的方式管理依赖包(会自动管理所有依赖) |
sudo apt-get update
如果没安装curl工具需要先安装一下
sudo snap install curl
让apt通过https使用存储库repository
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加docker官方gpg秘钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
也可以用官方的网址,我用的是上面的
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
ENTER继续
再更新一下资源包
sudo apt-get update
sudo apt-get install docker-ce
Y确认完成安装
使用docker --version
验证是否安装成功,出现版本号即表示安装完成
docker --version
或者
docker version
systemctl status docker
出现绿色的active(running)且无报错日志出现即表示正常运行中,如下图
完成安装后查看docker状态发现报错
其实此时已经安装完成,只是其中安装管包可能有点问题
检查软件包
sudo apt-get check
sudo apt-get -f install
sudo apt-get install docker-ce
强制删除所有容器
sudo docker rm -f $(sudo docker ps -aq)
卸载docker-ce
因为我们安装使用的是apt方式,所以卸载命令为
sudo apt-get purge docker-ce
注:因为卸载后docker的相关数据不会被删除,需要手动删除
删除docker相关文件
sudo rm -rf /var/lib/docker
拓展一下:
如果是以其他方式安装的docker-ce,会有对应的命令来卸载docer-ce
docker-ce安装方式 | 卸载命令 |
---|---|
下载安装包安装 | sudo dpkg -r docker-ce |
yum安装 | sudo yum remove docker-ce |
官方脚本安装 | sudo sh get-docker.sh --uninstall |
sudo apt-get update
如果已安装docker.io旧版需先卸载,如果没安装过,请跳过此步
强制删除所有容器
sudo docker rm -f $(sudo docker ps -aq)
卸载
sudo apt-get remove docker docker-engine docker.io containerd runc
删除docker相关文件
sudo rm -rf /var/lib/docker
sudo apt-get install docker.io
查看docker是否安装成功,即查看版本
docker version
如果有容器需要先删除容器
停止所有容器
sudo docker stop $(docker ps -a -q)
删除所有容器
sudo docker rm $(sudo docker ps -a -q)
注:这里需要注意如果使用非root权限,命令前加sudo,且在小括号内的docker命令前也需要加sudo,不然命令会执行不成功
在容器运行时也可强制删除容器
sudo docker rm -f $(sudo docker ps -aq)
卸载docker.io安装包(Ubuntu)
sudo apt-get remove docker.io
删除旧数据
sudo rm -rf /var/lib/docker
确认删除,通过查看版本来确定已删除
docker version
systemctl status docker
可以设置开机自启docker
systemctl enable docker
关闭docker
systemctl stop docker
启动docker
systemctl start docker
使用docker运行官方容器hello-world
因为不是root用户,所以依然要使用sudo来开头
(冒号后面是版本,不写冒号和版本时默认为最新版latest,这里不指定版本好像不行,所以还是加上了)
sudo docker pull hello-world:latest
(镜像运行后就是容器,类似于java类和实例的关系)
sudo doker run hello-world
这里需要注意,hello-world镜像运行的容器不会自动运行,因为它只是一个用于验证docker可用的镜像而已,
所以我们看到容器的状态是Exited。
sudo docker ps -a
docker相关命令请参考:
Docker命令
Docker命令实操演示