社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  docker

容器化技术(一):Docker的安装与常用命令

jiangxiuli • 4 年前 • 271 次点击  
阅读 12

容器化技术(一):Docker的安装与常用命令

一、Docker总架构图

CS客户端服务器架构模式

在这里插入图片描述

二、安装Docker

Docker运行在Centos7上,需要系统为64位,且内核版本在3.10以上。

Docker分为社区版本docker-ce,与商业版本docker-ee。我们安装的是docker-ce。

1、Yum安装

如果已经安装,需要先移除旧的版本。

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine
复制代码

安装必要的工具:

sudo yum install -y yum-utils device-mapper-persistent-data lvm2
复制代码

添加软件源信息:

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
复制代码

更新yum缓存:

sudo yum makecache fast
复制代码

安装docker-ce

sudo yum -y install docker-ce
复制代码

启动docker后台服务:

sudo systemctl start docker
复制代码

测试运行:

sudo docker run hello-world
复制代码

由于本地没有hello-world这个镜像,所以会下载一个hello-world的镜像,并在容器内运行。

2、脚本安装

确保yum包更新到最新:

sudo yum update
复制代码

执行docker安装脚本(执行这个脚本会添加 docker.repo源并安装docker):

curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
复制代码

启动docker进程:

sudo systemctl start docker
复制代码

验证docker安装是否成功,并在容器中执行一个测试的镜像:

其中docker ps可以查出运行的镜像。如果docker ps -l可以查询出最后一次创建的容器。

sudo docker run hello-world
docker ps
复制代码

3、镜像加速

鉴于默认的镜像地址比较慢,我们可以采用国内的镜像地址,例如使用网易加速地址:

我们只需要在/etc/docker/下,创建一个文件daemon.json,并添加如下内容即可:

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}
复制代码

执行以下命令后生效:

systemctl daemon-reload
systemctl restart docker
复制代码

4、删除Docker

sudo yum remove docker-ce
sudo rm -rf /var/lib/docker
复制代码

三、容器相关

根据一个镜像,启动一个容器,并运行其中的命令。

docker run ubuntu /bin/echo "Hello world"
复制代码

与容器交互:

-i:允许你对容器内的标准输入进行交互。

-t:在新容器内指定一个终端。

退出的话,exit,或者ctrl+D。

docker run -it ubuntu /bin/bash
复制代码

通过如下命令,传递进去容器id,就可以查看容器的标准输出。

-f参数,可以像tail -f 参数一样,有日志就打印出来。

docker logs -f container-id
复制代码

关闭容器:

docker stop container-id
复制代码

查看所有的镜像:

docker images
复制代码

查看容器:

docker ps -a
复制代码

1、Docker命令

命令行里直接docker,会打出所有的docker命令。

输入以下命令,会打印出命令docker run的详细用法。想知道其他命令的详细用法,可以参考。

docker run --help
复制代码

2、运行web应用

拉取镜像:

docker pull training/webapp
复制代码

运行镜像,参数解释:

-d:让容器运行在后台。

-P:将容器内部使用的网络端口随机映射到我们使用的主机上。注意使用的大写的P的参数。与小写p的区别。

docker run -d -P training/webapp python app.py
复制代码

查看容器运行状态:

其中将容器内部的5000端口映射到了主机的32768端口上。

我们可以直接通过此端口访问:http://10.150.27.99:32768

docker ps
复制代码

在这里插入图片描述

四、后续内容展望

1、容器的应用

可以参考我的另一篇文章:启动你的第一个容器

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/111619
 
271 次点击