一. 安装docker
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
$ uname -r
2、使用 root 权限登录 Centos。确保 yum 包更新到最新。
$ sudo yum update
3、卸载旧版本(如果安装过旧版本的话)
$ sudo yum remove docker docker-common docker-selinux docker-engine
4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2
5、设置yum源
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
6、可以查看所有仓库中所有docker版本,并选择特定版本安装
$ yum list docker-ce --showduplicates | sort -r
7、安装docker
$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版
8、启动并加入开机启动
$ sudo systemctl start docker
$ sudo systemctl enable docker
9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
$ docker version
Client: Docker Engine - Community
Version: 19.03.2
API version: 1.40
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:28:55 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.2
API version: 1.40 (minimum version 1.12)
Go version: go1.12.8
Git commit: 6a30dfc
Built: Thu Aug 29 05:27:34 2019
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.2.6
GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fb
runc:
Version: 1.0.0-rc8
GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87f
docker-init:
Version: 0.18.0
GitCommit: fec3683
二. 创建容器
1、拉取centos最新镜像
$ docker pull centos
查看镜像
$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
centos latest 831691599b88 2 weeks ago 215MB
2、创建容器
sudo docker run -ti --privileged -p 80:80 -p 8888:8888 -p 888:888 -p 5000:5000 --restart=always -d --name flask_app centos
说明:
docker里面软件安装由宝塔管理,所以需要开发80、888、8888端口,5000是测试端口
-p后面是需要添加的端口
flask_app是容器name
centos是镜像名称
宝塔开放端口说明:
5000 flask调试端口
8888 默认面板端口
888 phpmyadmin端口
80 http
443 https
21 ftp
20 ftp-data
39000 - 40000 ftp被动端口
centos7安装宝塔命令
sudo yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
注意: 在阿里云服务器中需要开放容器绑定的端口才能正常访问云服务器里面的docker。
3、让docker 容器开机自动启动:
docker update --restart=always <容器name>
$ sudo docker update --restart=always flask_app
4、进入容器
sudo docker exec -it <容器name> /bin/bash
$ sudo docker exec -it flask_app /bin/bash
三. docker常用命令
#从本地拷贝文件到容器
docker cp <本地文件> <容器ID>:<容器里面的路径>
$ sudo docker cp -a /home/FlaskDemo a23a40b943b3:/home
#运行容器:
$ sudo docker start flask_app
#停止容器:
$ sudo docker stop flask_app
#查看镜像
$ sudo docker images
#查看容器
$ sudo docker ps -a
#删除镜像
$ sudo docker rm flask_app
#将镜像 centos:latest 生成 centos20190922.tar 文档
$ docker save -o centos20190922.tar centos:latest
#导入使用 docker save 命令导出的镜像centos20190922.tar。
$ docker load < centos20190922.tar
#启动docker服务
$ systemctl start docker
#停止docker服务
$ systemctl stop docker
#进入容器:
$ sudo docker exec -it flask_app /bin/bash
#提交一个运行中的容器为镜像
$ docker commit -m="Create Flask app images" -a="yyt" 4e5ce80cc9d9 yyt/centos:v1
各个参数说明:
-m:提交的描述信息
-a:指定镜像作者
4e5ce80cc9d9:容器ID
yyt/centos:v1:指定要创建的目标镜像名
#docker查看占用空间命令
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 169 111 59.8GB 33.65GB (56%)
Containers 12298 1 61.14GB 61.14GB (100%)
Local Volumes 486 145 34.06GB 27.22GB (79%)
Build Cache
#docker清理占用空间命令
$ docker system prune -a
#清空所有命令
$ docker image prune --all
原文博客: 安装配置docker