使用系统自带的版本
yum install docker-engine
安装最新版本
sudo curl -sSL https://get.docker.com/ | sh
添加yum源,手动安装,以centos为例
cd /etc/yum.repos.d/
curl -O https://download.docker.com/linux/centos/docker-ce.repo
yum install docker-ce
设置国内镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": [
"https://dockerproxy.com",
"https://hub-mirror.c.163.com",
"https://mirror.baidubce.com",
"https://ccr.ccs.tencentyun.com"
]
}
EOF
启动docker
systemctl start docker
systemctl enable docker
验证
docker version
如果Client和Server均有输出,则说明Docker已经正常启
动。如果我们看到报错:“Cannot connect to the Docker daemon.Is the docker daemon running on this host?” 则说明 Docker没有启动或启动失
败。
下面启动一个Nginx容器,检查能正确获取镜像并运行:
$ docker run -d -p 80:80 --name webserver nginx
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
51f5c6a04d83: Pull complete
a3ed95caeb02: Pull complete
51d229e136d0: Pull complete
bcd41daec8cc: Pull complete
Digest:
sha256:0fe6413f3e30fcc5920bc8fa769280975b10b1c26721de956e1428b9e2f29d04
Status: Downloaded newer image for nginx:latest
34bcd01998a76f67b1b9e6abe5b7db5e685af325d6fafb1acd0ce84e81e71e5d
然后使用docker ps指令查看当前运行的容器:
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED
STATUS PORTS NAMES
34bcd01998a7 nginx "nginx -g 'daemon off" 2 minutes ago
Up 2 minutes 0.0.0.0:80->80/tcp, 443/tcp webserverf
可见Nginx容器已经在0.0.0.0:80启动,并映射了80端口,我们打
开浏览器访问此地址。
为了避免每次使用docker命令都要用特权身份,可以将当前用户加入安装
中自动创建的docker用户组:
sudo usermod -aG docker USER_NAME
如果用户已经添加到了 docker用户组,大部分时候都无需管理员权限,否则需要在命令前使用sudo来临时提升权限。