Docker 是一种流行的容器化平台,它能够简化应用程序的部署和管理。本文将介绍在 Ubuntu 操作系统上安装Docker的步骤,以便我们可以开始使用Docker来构建和运行容器化应用程序。
系统版本
本文以Ubuntu20.05系统为例安装docker,Ubuntu官方下载地址。
一、检查卸载老版本docker
ubuntu下自带了docker的库,不需要添加新的源。但是ubuntu自带的docker版本太低,需要先卸载旧的再安装新的。
注:docker的旧版本不一定被称为docker,docker.io 或 docker-engine也有可能,所以我们卸载的命令为:
sudo apt-get remove docker docker-engine docker.io containerd runc
二、安装docker
- 更新软件包
sudo apt update
sudo apt upgrade
- 安装docker依赖
Docker在Ubuntu上依赖一些软件包。执行以下命令来安装这些依赖:
sudo apt-get install ca-certificates curl gnupg lsb-release
- 添加Docker官方GPG密钥
执行以下命令来添加Docker官方的GPG密钥:
sudo curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
- 添加Docker软件源
执行以下命令来添加Docker的软件源:
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
- 安装docker
执行以下命令来安装Docker:
sudo apt-get install docker-ce docker-ce-cli containerd.io
- 配置用户组(可选)
默认情况下,只有root用户和docker组的用户才能运行Docker命令。我们可以将当前用户添加到docker组,以避免每次使用Docker时都需要使用sudo。命令如下:
sudo usermod -aG docker $USER
- 运行docker
我们可以通过启动docker来验证我们是否成功安装。命令如下:
systemctl start docker
- 安装docker工具
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
- 重启docker
service docker restart
- 验证是否成功
sudo docker run hello-world
因为我们之前没有拉取过 hello-world ,所以运行命令后会出现本地没有该镜像,并且会自动拉取的操作。
- 查看版本
我们可以通过下面的命令来查看 docker 的版本
sudo docker version
- 查看镜像
上面我们拉取了hello-world的镜像,现在我们可以通过命令来查看镜像,命令如下:
sudo docker images
- 常用docker命令
Docker包含众多命令,用于管理容器、镜像、网络和服务等。下面列出了一些常用Docker命令及其简要说明,但请注意,由于Docker功能丰富,这个列表远不能涵盖所有命令和选项:
基础操作
-
查看Docker系统信息:
docker info
-
拉取镜像:
docker pull 镜像名[:标签]
-
查看本地镜像:
docker images
-
启动容器:
docker run [OPTIONS] 镜像名[:标签] [COMMAND] [ARG...]
-
列出运行中的容器:
docker ps
-
查看所有容器(包括停止的):
docker ps -a
-
停止容器:
docker stop 容器ID或容器名
-
启动已停止的容器:
docker start 容器ID或容器名
-
进入运行中的容器:
docker exec -it 容器ID或容器名 /bin/bash
-
删除容器:
docker rm 容器ID或容器名
-
删除所有容器:
docker rm $(docker ps -aq)
-
删除镜像:
docker rmi 镜像ID或镜像名
-
构建镜像:
docker build -t 自定义镜像名:标签 .
高级操作
-
查看容器日志:
docker logs 容器ID或容器名
-
端口映射查询:
docker port 容器ID或容器名
-
导出容器:
docker export 容器ID或容器名 > 导出文件.tar
-
导入容器:
cat 导入文件.tar | docker import - 新镜像名:标签
-
创建网络:
docker network create 网络名
-
查看网络:
docker network ls
-
登录Docker registry:
docker login
-
推送镜像到registry:
docker push 镜像名:标签
这只是Docker命令的一小部分,每个命令还包含更多高级选项和参数。具体使用时,可通过 docker COMMAND --help
查看某个命令的详细帮助信息。
- docker获取镜像的办法
为docker 配置代理
修改文件vim /etc/docker/daemon.json ,配置内容为下文,没有则新建
删除之前配置的国内镜像源,配置docker 官方镜像链接。这里直接粘贴进去即可。
写入镜像配置
sudo tee /etc/docker/daemon.json <<-'EOF'
"registry-mirrors": [
"https://hub.docker.com/"]
EOF
修改文件 vim /etc/systemd/system/docker.service.d/proxy.conf
先创建/etc/systemd/system/docker.service.d/
目录,你可以使用下面的命令:
sudo mkdir -p /etc/systemd/system/docker.service.d/
在/etc/systemd/system/docker.service.d/
目录路径下新建一个名为 proxy.conf
的文件,你可以使用下面的命令:
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
修改文件 vim /etc/systemd/system/docker.service.d/proxy.conf
[Service]
Environment="HTTP_PROXY=http://XXX:7892"
Environment="HTTPS_PROXY=http://XXX:7892"
注:这里的Environment=“HTTP_PROXY=http://XXX:xxxx”,Environment="HTTPS_PROXY=http://XXX:xxxx"是本机的代理,XXX为本机IP地址,xxxx为socks监听端口。
14. 加载配置、重启docker
加载配置
systemctl daemon-reload
重启docker
systemctl restart docker
查看代理配置是否生效
systemctl show --property=Environment docker
打印出的内容
Environment=HTTP_PROXY=http://XXX:7892 HTTPS_PROXY=http://XXX:7892
至此,你就已经完成了docker的安装及拉取镜像的操作。