docker教程(一)搭建并使用、端口映射

docker教程(一)搭建并使用、端口映射

绿林寻猫
2022-02-21 / 0 评论 / 262 阅读 / 正在检测是否收录...

说明

Docker 包括三个基本概念:

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像

安装

安装环境

CentOS 7.6.1810 x86_64(Py3.7.9)

centos安装

安装必要的一些系统工具

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

更新并安装 Docker-CE

sudo yum makecache fast
sudo yum -y install docker-ce

开启Docker服务

sudo service docker start

查看版本

[root@ecs-225300 /]# docker version
Client: Docker Engine - Community
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:44:05 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

设置加速服务

市面有很多加速服务,可自行选择,这里笔者使用的是阿里云 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

容器创建

Apache 容器

docker run -d -p 81:81 httpd
# -d: 放入后台运行
# -p: 指定端口映射关系(第一个为本地端口、第二个为容器端口)

Nginx 容器

docker run -d -p 82:82 nginx
# -d: 放入后台运行
# -p: 指定端口映射关系(第一个为本地端口、第二个为容器端口)

查询容器

[root@ecs-225300 docker]# docker ps 
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                       NAMES
73848607fd5f   nginx     "/docker-entrypoint.…"   8 minutes ago    Up 8 minutes    80/tcp, 0.0.0.0:82->82/tcp, :::82->82/tcp   blissful_ptolemy
9e8dce300893   httpd     "httpd-foreground"       10 minutes ago   Up 10 minutes   80/tcp, 0.0.0.0:81->81/tcp, :::81->81/tcp   gifted_stonebraker

查询端口映射

docker port "容器ID"
[root@ecs-225300 docker]# docker port 73848607fd5f  
82/tcp -> 0.0.0.0:82
82/tcp -> :::82

进入容器

docker exec -it "容器ID" /bin/bash

复制本地文件到容器中

docker cp /etc/profile 容器ID:/root
0

评论 (0)

取消