**
Ubuntu18.04安装docker
**
查看是否已安装docker和卸载docker
-
查看是否已安装了docker
sudo docker version (通过查看docker版本信息来确认)
-
如果已安装,运行以下命令卸载docker
sudo apt-get remove docker docker-engine docker.io containerd runc
安装docker
一、准备阶段
-
更新系统:
确保你的Ubuntu系统是最新的,以便安装过程中不会遇到因版本过旧而导致的兼容性问题。在终端中执行以下命令来更新系统:sudo apt-get update
-
安装必要的依赖:
安装一些必要的系统工具和依赖项,以便能够使用apt通过HTTPS仓库安装软件。执行以下命令:
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
二、添加Docker镜像源和GPG密钥
-
添加Docker GPG密钥:
阿里云提供了Docker的GPG密钥,用于验证Docker软件包的完整性。执行以下命令来添加密钥:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
注意:根据最新的实践,阿里云可能已经将GPG密钥的添加方式更新为使用gpg --dearmor命令,因此如果上述命令不工作,可以尝试使用类似以下命令的方式:
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
-
添加Docker软件源信息:
使用阿里云提供的Docker镜像源可以加速Docker的安装和镜像的下载。执行以下命令来添加软件源信息:
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
注意:如果你使用的是较旧的Ubuntu版本或按照旧教程操作,可能需要使用sudo add-apt-repository命令来添加软件源,但现代Ubuntu版本推荐使用上述echo和tee命令的方式。
三、安装Docker
-
更新软件源:
添加完软件源后,执行以下命令来更新apt的软件包索引:
sudo apt-get update
-
安装Docker CE:
使用apt命令安装最新版本的Docker CE(Community Edition,社区版)。执行以下命令:sudo apt-get install docker-ce docker-ce-cli containerd.io
四、启动并测试Docker
-
启动Docker服务:
安装完成后,启动Docker服务。执行以下命令:sudo systemctl enable docker sudo systemctl start docker
-
验证Docker安装:
使用Docker的hello-world镜像来验证Docker是否安装成功。执行以下命令:sudo docker run hello-world
五、配置Docker镜像加速器(可选)
为了提高Docker镜像的下载速度,你可以配置Docker使用阿里云的镜像加速器。按照阿里云官方文档中的说明,在/etc/docker/daemon.json文件中添加加速器地址,并重启Docker服务。
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://<你的加速器地址>.mirror.aliyuncs.com"]
}
EOF
请注意,上述步骤和命令可能会随着Docker和阿里云镜像源的更新而发生变化。因此,如果在操作过程中遇到问题,建议查阅最新的官方文档或社区论坛以获取帮助。
六、DOCKER的一些使用命令
# 启动
sudo systemctl enable docker
sudo systemctl start docker
或者
sudo service docker start
#运行状态
sudo systemctl status docker
sudo service docker status
#停止
sudo systemctl stop docker
sudo service docker stop
#重启
sudo systemctl restart docker
sudo service docker restart
查看docker中运行的容器
sudo docker ps
查看docker中所有的容器
sudo docker ps -a
启动一个已停止的容器:
docker start <容器ID>
停止一个已启动的容器
docker stop <容器ID>
重启一个已启动的容器
docker restart <容器ID>
查看容器内的标准输出
docker logs <容器ID>
获取镜像:例如获取ubuntu镜像
sudo docker pull ubuntu
获取最新镜像
sudo docker pull ubuntu latest
移除容器
docker rm -f <容器ID>
显示镜像的历史记录
docker history
导出容器
docker export <容器ID> > <文件名>.tar
导入容器
cat docker/<文件名>.tar | docker 导入 - 测试/<容器名>:v1
例如:cat docker/ubuntu.tar | docker import - test/ubuntu:v1
查看镜像
sudo docker image ls 或 docker images
删除镜像
sudo docker rmi image
批量删除所有镜像
sudo docker rmi `docker images -q
查看Docker网络
sudo docker network ls
删除指定的Docker网络,例如:test (注意:删除网络后连接到该网络的容器都会断开网络)
docker network rm test
进入Docker容器
docker exec -it <容器名或id> /bin/bash
创建新的镜像
docker commit < OPTIONS > container <REPOSITORY[:TAG]>
例如:docker commit test_id_or_name my-test-image:latest (这将基于test的id或name容器创建一个新镜像my-test-image,标签为latest)
配置容器随docker一起自动启动
docker run -restart=always
如果容器已经启动,可以使用一下命令
docker update -restart=always <CONTAINER ID>
如果已经配置容器随docker一起启动,现在想配置容器不跟随启动
docker update --restart=no <CONTAINER ID>
批量关闭自启
docker update --restart=no $(docker ps -a -q)