根据Docker官网文档安装
https://docs.docker.com/engine/install/centos/
因为系统是centos,安装docker-engine需要centos7
移除旧版本
$ sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
官方建议的方式是配置docker repo,从repo中来安装
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
可以看到在/etc/yum.repos.d路径下多了一个docker-ce.repo
安装docker engine
$ sudo yum install docker-ce docker-ce-cli containerd.io
start docker
$ sudo systemctl start docker
用官方镜像会很慢,国内最快的是阿里云的镜像加速
sudo vim /etc/docker/daemon.json
在阿里云镜像加速可以找到,免费的
{
"registry-mirrors": ["https://h46n1ixs.mirror.aliyuncs.com"]
}
为了让镜像生效,重启docker
sudo systemctl restart docker
拉取一个nginx镜像测试一下
docker pull nginx
运行nginx,--name给容器命名为nginx,-d在后台运行,-p将docker宿主机器的8080端口映射到容器的80端口,使用nginx镜像的最新版本
docker run --name -d -p 8080:80 nginx:latest
在浏览器访问8080端口
docker每启动一个container,在宿主机可以看到会新增一个网卡,这个网卡只能通过宿主机才能访问,所以外界想要访问到container只能通过端口映射