docker安装
-
安装Docker的依赖库。
yum install -y yum-utils device-mapper-persistent-data lvm2
-
添加Docker CE的软件源信息。
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
安装Docker CE。
yum makecache fast yum -y install docker-ce
-
启动Docker服务。
systemctl start docker
修改镜像源
- Docker的默认官方远程仓库是hub.docker.com,由于网络原因,下载一个Docker官方镜像可能会需要很长的时间,甚至下载失败。为此,阿里云容器镜像服务ACR提供了官方的镜像站点,从而加速官方镜像的下载。下面介绍如何使用阿里云镜像仓库。如果有阿里云账号,可在阿里云子账号登录
容器镜像服务控制台
。单击[镜像中心]
>[镜像加速器]
,可以看到阿里云为您提供了一个专属的镜像加速地址。
2. 配置Docker的自定义镜像仓库地址。
请将下面命令中的镜像仓库地址`https://kqh8****.mirror.aliyuncs.com`替换为阿里云为您提供的专属镜像加速地址。
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
- 修改完成后重新加载服务配置文件。
systemctl daemon-reload
- 重启Docker服务。
systemctl restart docker
第一个docker应用
- 使用docker搭建nginx
-
查看Docker镜像仓库中Nginx的可用版本。
docker search nginx
-
拉取最新版的Nginx镜像。
docker pull nginx:latest
-
查看本地镜像。
docker images
-
运行容器
docker run --name nginx-test -p 8080:80 -d nginx
命令参数说明: --name nginx-test:容器名称。 -p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。 -d nginx: 设置容器在后台一直运行。
-
在浏览器地址栏输入http://<ECS公网IP地址>:8080访问Nginx服务。
docker-compose
-
安装docker-compose
sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose
网络原因有可能时间较长,推荐一个速度较快地址
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
-
配置docker-compose
sudo chmod +x /usr/local/bin/docker-compose sudo curl -L https://raw.githubusercontent.com/docker/compose/1.21.2/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose
-
安装完成
docker-compose --version
第一个docker-compose应用
- 创建一个docker-compose.yml文件,里面添加内容,不能用tab键加空格
version: '3.1' services: nginx: restart: always image: nginx container_name: nginx ports: - 80:80 volumes: - ./conf.d:/etc/nginx/conf.d
- 接着创建一个conf.d文件夹并进入,然后创建一个default.conf文件,在里面添加内容
server { listen 80; server_name localhost; location / { root /usr/share/nginx/html; index index.html index.htm; } }
- 返回创建的yml文件那一层使用docker-compose命令创建容器
docker-compose up -d
- 使用本机输入虚拟机地址即可访问,至此docker-compose已经构建完成
docker使用相关问题
- 解决docker网络连接问题
- 关闭防火墙
systemctl stop firewalld systemctl disable firewalld
- 关闭selinux
setenforce 0 vi /etc/sysconfig/selinux SELINUX=disabled
- 重启docker
systemctl restart docker
- 还需要注意云平台提供的安全组配置,阿里云举例:
控制台 > 云服务器 ECS > 网络与安全 > 安全组 > 选择云主机所在安全组 > 配置规则 > 入方向 > 增加 自定义TCP 端口范围:80
及可以访问;
- 重启容器报错:
Cannot connect to the Docker daemon at tcp://localhost:2375. Is the docker daemon running?
vi ~/.bashrc # 在最下面添加一行: export DOCKER_HOST='unix:///var/run/docker.sock' source .bashrc
- docker-compose:
error while loading shared libraries: libz.so.1: failed to map segment from shared object: Operation not permitted
sudo mount /tmp -o remount,exec