安装Docker
卸载旧版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
安装Docker-ce
- 更新
yum包索引:
$ sudo yum update -y
- 安装一些必要的依赖包:
$ sudo yum install -y yum-utils
- 配置 docker-ce 仓库:
$ sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
- 安装 docker-ce:
$ sudo yum install -y docker-ce docker-ce-cli containerd.io
至此,Docker 已经安装完成了,Docker 服务是没有启动的。
设置 Docker 开机自启:
$ sudo systemctl enable docker
启动 Docker 服务:
$ sudo systemctl start docker
- 验证
Docker
使用下面的命令查看Docker的版本
$ docker -v
Docker version 20.10.6, build 370c289
然后使用下面的命令可以运行hello-world程序,因为Docker中还没有hello-world程序的镜像,所以会先pull(下载)下来然后运行。
$ sudo docker run hello-world
如果看到打印 Hello for Docker!说明程序已经运行成功了。
Docker Compose 安装
- 安装额外依赖包:
$ sudo yum install epel-release
复制代码
- 安装 python-pip:
$ sudo yum install -y python-pip
- 安装 Docker Compose:
$ sudo pip install docker-compose
- 升级 python 包:
$ sudo yum upgrade python*
- 验证安装:
$ docker-compose version
docker-compose version 1.24.1, build 4667896
docker-py version: 3.7.3
CPython version: 2.7.5
OpenSSL version: OpenSSL 1.0.2k-fips 26 Jan 2017
复制代码
- 卸载 Docker Compose:
如果你是使用curl的方式安装的,则运行下面的命令删除docker-conpose的文件(本文使用此种方式安装):
$ sudo rm /usr/local/bin/docker-compose
复制代码
如果你是使用 pip 的方式安装的,则运行下面的命令删除docker-conpose的文件:
$ sudo pip uninstall docker-compose
安装Minio
搜索镜像
$ docker search minio
拉取并且查看镜像
$ docker pull minio/minio
$ docker images
启动Minio容器
docker run \
-p 8081:8081 \
-p 8082:8082 \
--name minio \
-d --restart=always --network=host \
-v /opt/docker/minio/data:/data \
-v /opt/docker/minio/config:/root/.minio \
-e "MINIO_ROOT_USER=admin" \
-e "MINIO_ROOT_PASSWORD=admin123" \
-e "MINIO_SECRET_KEY=1234" \
minio/minio server /data --console-address "***.com:8081" --address "***.com:8082"
-
-p 8081:8081: 服务器8081端口映射到容器内部8081 -
--name minio: 容器名为minio -
--network=host: 容器使用服务器网络 -
-v /opt/docker/minio/data:/data: 容器/data目录挂载到服务器/opt/docker/minio/data目录(可以不进入容器内部去操作容器内部该目录下的文件) -
-e "MINIO_ROOT_USER=admin" -e "MINIO_ROOT_PASSWORD=admin123": 指定minio登录账号和密码 -
-e "MINIO_SECRET_KEY=1234": 指定ssl证书密码 -
/data --console-address "***.com:8081" --address "***.com:8082":指定minio启动的端口号,如不指定,每次启动都会是不同端口号,指定域名是为了解决通过https访问之后登录报错的问题,这里需要在/etc/hosts文件添加内网IP/域名映射否则容器启动的时候会因为无法正确解析域名而报错,具体添加操作如下:使用
$ ifconfig命令查看内网IP(
eth0:下的inset对应的IP)在/etc/hosts文件下加一行[内网IP] [***.com]
配置ssl证书
在百度云或者腾讯云阿里云等云服务平台可以申请免费的ssl证书,申请成功之后下载pem:nginx版的证书会得到***.com.crt和***.com.key两个文件,然后重名民为public.crt和private.key(这是minio默认的公钥和私钥的文件名)上传到服务器/opt/docker/minio/config/certs,然后重启容器
$ docker restart minio
之后就可以用https://***.com:8081去访问minio的控制台了,相应的上传的文件资源也可以用https协议去访问到了
PS:一些Docker常用命令
docker images: 查看所有镜像docker search [镜像名]: 在镜像源(如未自定义镜像源则为默认的DockerHub)搜索镜像docker pull [镜像名]: 拉取指定镜像docker run [OPTIONS] IMAGE [COMMAND] [ARG...]: 使用镜像运行一个容器,配置参数很多,详情参考菜鸟教程docker logs [容器ID/容器名]: 查看容器日志docker exec -it [容器ID/容器名] bash: 进入容器内部docker cp -a [容器ID/容器名]:[容器内部目录] [服务器目录]: 将容器内部指定目录下所有文件拷贝到服务器指定目录下docker ps: 查看所有运行中的容器 加上参数-a即可查看所有容器docker restart [容器ID/容器名]: 重启指定容器docker stop [容器ID/容器名]: 停止运行指定容器docker start [容器ID/容器名]: 运行指定容器docker rm -f [容器ID/容器名]: 删除指定容器 更多更详细的Docker命令参考菜鸟教程Docker命令大全