本文是在Centos7环境下安装docker,讲三部分:安装docker、创建容器、docker常用命令
一. 安装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 versionClient: Docker Engine - CommunityVersion: 19.03.2API version: 1.40Go version: go1.12.8Git commit: 6a30dfcBuilt: Thu Aug 29 05:28:55 2019OS/Arch: linux/amd64Experimental: falseServer: Docker Engine - CommunityEngine:Version: 19.03.2API version: 1.40 (minimum version 1.12)Go version: go1.12.8Git commit: 6a30dfcBuilt: Thu Aug 29 05:27:34 2019OS/Arch: linux/amd64Experimental: falsecontainerd:Version: 1.2.6GitCommit: 894b81a4b802e4eb2a91d1ce216b8817763c29fbrunc:Version: 1.0.0-rc8GitCommit: 425e105d5a03fabd737a126ad93d62a9eeede87fdocker-init:Version: 0.18.0GitCommit: fec3683
二. 创建容器
1、拉取centos最新镜像
$ docker pull centos
Using default tag: latest
latest: Pulling from library/centos
6910e5a164f7: Downloading [==> ] 4.275MB/74.87MB6910e5a164f7: Pull complete
Digest: sha256:4062bbdd1bb0801b0aa38e0f83dece70fb7a5e9bce223423a68de2d8b784b43b
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
查看镜像
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 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 f 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
WARNING! This will remove:- all stopped containers- all networks not used by at least one container- all images without at least one container associated to them- all build cache
Are you sure you want to continue? [y/N] y
#清空所有命令
[root@localhost ~]# docker image prune --all
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] yDeleted Images:
untagged: yyt/centos:v1
deleted: sha256:ba1f2161718903a0765eca9780c8eb0cac161678c576e7123fb176a0a087c6ec
deleted: sha256:21bd1eaf426668cc2ccf9a3d1a30ffc655c2425006b55ea8a4862921a7757743
untagged: star7th/showdoc:latest
untagged: registry.cn-shenzhen.aliyuncs.com/star7th/showdoc:latest
untagged: registry.cn-shenzhen.aliyuncs.com/star7th/showdoc@sha256:d2c0db9140141822e515979bf5f3ef22ececefe627bbbf2fcb6db7f9a58e27bf
deleted: sha256:d4f901e1cd9fed93a86882bc2cebe1a2c43c1e7307dc7f41ada75596add4692c
deleted: sha256:0ef164f6d7dacadb18033d3e00819a13fc5cc3a51646c075a6026f77fa1c1d09
deleted: sha256:3eebd7aff5cb4ed846bdbf8a1e2bf5da2fa5b7c4372ab067665ecf9fcc252ced
deleted: sha256:c04919ab20643f07e4b9d4af886f7127e3898da75496dd633c904ae100a3730d
deleted: sha256:f66c65ba019237738f882bbaa1c5f823d8aa3119178a7991341b15f2fcb21d2d
deleted: sha256:b2c081503b42800ac7528b5a8430e14e650cebb0affac0929cc848a3af8a2a54
deleted: sha256:7ef75b26699d50763fe61bde13ce5a442cbbb462e7006e721440343963c6dc4c
deleted: sha256:75d4cf5d3de34222c200f90007d5c39a31df5985ff14cb54d61cf2c8e7d55f54
deleted: sha256:f85244512c4c706b7e19ef7e24672fa367914776d3880cddf609bc397411e7ce
deleted: sha256:8d3eff7996a8aa991d1a98f40dabeb4a2de484e0a68a6c0037c9a5bf2ec162da
deleted: sha256:4f557bc07fa6ac69d84bf67b9cbd78b650a26d359dc8e54ba50d1e59f7b7fc80
deleted: sha256:7a0572183eeb24b9961de5ad58addf922b543ea462806ab5269e68850bcc8bed
deleted: sha256:b1484c1dfd63250799528a20b9ea78115ecdc2adc9c8889a5f7b0f2390a20e88
deleted: sha256:e714116e53b3f4562a8c63d8ab0324c7ccb8e5ad23c4b231377f6a6abe86e8b9
deleted: sha256:47698896ea506fd3ddaf61b88dde09640057ac53c8028bfa2615e30697e59535
deleted: sha256:fd297e6e1bfffe5f27456dcaf6a7c75dbd5b7ac6e733549d18aba93d49541903
deleted: sha256:e87b8ac10f4d7e96bb24c05d1961f7b1b9bef6c3ff9e4d48ab7ec93158fe09aa
deleted: sha256:9e05d89f172eb81bc9a3b5cd5f487dc0488a60df8803d599f0257b9c0b6cf35d
deleted: sha256:fd8ea56073d8a963d13f5bf08663b5adc17220f4443d031f782116d0afa2f02a
deleted: sha256:0d3fb98ab3fd29668beb7a1f7f0c82929e04c5f87ad04bb1df36445b5015c2b6
deleted: sha256:2ee9820bba4a71a1cadec34c95dc5de92141077a7cf35f42047458aaea466260
deleted: sha256:83ae276ec73190c414f728cfa79fefbcdcc94dba760ed18aa074cd50a755e7ad
deleted: sha256:cbaf1effb14a11d38a4748aee99edc6534e6fbf4c800f5265851b6745e6ddc59
deleted: sha256:6e4b11b43f77768636fbda48a0f35d16185d9aeef17763de5b23a390c9883f3a
deleted: sha256:4564224b4a13efb5c044a66a4dae4bd68919cfc48b3fcd45b7ae4da0cdb2e7af
deleted: sha256:9ee39ebb618694ee76dda1a5e4227918faf1c83520f39956ddb1315eef64c01e
deleted: sha256:34ebb1f27e444914fdd93e5a2cf3cb00d3639ee0a86388134cbedf320b794430
deleted: sha256:d22b670f3eb5920cc6f0c3e1e5699dab77809003400694d7df0f8669fa5859e3
deleted: sha256:3442862918e3644f7d50ce760d415a9b59a3c78b78b2dd3c578a37c1ab3a63db
deleted: sha256:faf7abedcc16e36333981ccf7940ff2ac88e79eb4f986aa199be9af9fcdb32db
deleted: sha256:30e5399ee988c367b9cb7459cdb9323ce68d8263dd6707a138d5d5f1c1a4521c
deleted: sha256:f461261505ff2265fc418058491441e969cd71d7c4c2820fc924b6d431672f26
deleted: sha256:d484c9e4de5c08f4b707626a881f85ea3f4e1039402cdeb8f1b436efad481eba
deleted: sha256:7722e436372c9660b68a5a3348fd33314010411844a968c830293df581c7c2a6
deleted: sha256:0c7f082401f85931ebc59781a7654643d224495428bfd69e0f7b6fc8356afe79
deleted: sha256:0c7806677670843eada48a89b42d7ae33e73c04fdeb374d590b1f2bc75698e0d
deleted: sha256:68e194e1f69b425ffecc02cec2f0e1dd35e4d4132b541836e9ace19bd2210b2c
deleted: sha256:979f4e00fd5a497d76742f5a3d0e6f8350be63ce72a9474ebf2b715fe580cf50
deleted: sha256:cd7100a72410606589a54b932cabd804a17f9ae5b42a1882bd56d263e02b6215
untagged: yyt/centos:v2
deleted: sha256:20a04105ad85fcd39bd953e95d78273e27248659e7f37aa5dfad9534ee76b0d8
deleted: sha256:18f95b3160029f11ff83470691da4bc4e44fd333baf312c015da45333116ac77Total reclaimed space: 14.82GB