Docker容器学习:部署安装Docker&基础使用

目录

1、安装Docker-CE

1)参考阿里云的yum安装

2)二进制安装docker(推荐、生产环境使用较多)

3)配置Docker镜像加速

[2、下载系统镜像(Ubuntu、 centos)](#2、下载系统镜像(Ubuntu、 centos))

1)先查看我们所需的镜像有哪些版本。使用search命令!

2)下载镜像使用的是pull从网络的镜像仓库拉取到本地docker中!

3、查看本地的所有镜像

4、基于下载的镜像创建两个容器

[5、怎么退出容器: 两种方法分别实现?](#5、怎么退出容器: 两种方法分别实现?)

6、怎么查看正在运行的容器和所有容器?

[7、容器的启动、 停止及重启操作。](#7、容器的启动、 停止及重启操作。)

8、怎么连接到运行的容器?

9、查看容器或镜像的内部信息?


1、安装Docker-CE

1)参考阿里云的yum安装

  • 基于Centos7.9版本环境

step 1: 安装必要的一些系统工具

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Step 2: 添加软件源信息

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

Step 3

sudo sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo

Step 4: 更新并安装Docker-CE

sudo yum makecache fast

sudo yum -y install docker-ce

Step 4: 开启Docker服务

sudo service docker start

官方软件源默认启用了最新的软件

安装指定版本的docker-ce

Step 1: 查找Docker-CE的版本:

yum list docker-ce.x86_64 --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: branch, fastestmirror, langpacks
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
Available Packages

Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)

sudo yum -y install docker-ce-[VERSION]

2)二进制安装docker(推荐、生产环境使用较多)

到 ++https://download.docker.com/linux/static/stable/x86_64/++ 页面下载自己需要版本的发布包

1> 下载

复制代码
[root@node3 ~]# wget -c https://download.docker.com/linux/static/stable/x86_64/docker-20.10.17.tgz

2> 解压

复制代码
[root@node3 ~]# tar -xf docker-20.10.17.tgz -C /usr/local/

3> 命令软连接

复制代码
[root@node3 ~]# ln -sv /usr/local/docker/* /usr/bin/

4> 配置启动脚本

复制代码
[root@localhost ~]# vim /usr/lib/systemd/system/docker.service
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target

5> 创建docker组

复制代码
[root@node3 ~]# groupadd -r docker

6> 启动服务

需要重新加载脚本然后启动

复制代码
[root@node3 ~]# systemctl daemon-reload 
[root@node3 ~]# systemctl start docker
[root@node3 ~]# systemctl enable --now docker

3)配置Docker镜像加速

  • 因为docker默认是从官方的Doccker Hub中下载,由于国内网络保护问题,我们使用国内的镜像源
  • 注册登录后选择:控制台 -> 搜索:容器镜像服务 -> 在最左列表中找到镜像加速,里面有详细讲解配置步骤方式。

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

"registry-mirrors": ["https://9qawopss.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

2、下载系统镜像(Ubuntu、 centos)

1)先查看我们所需的镜像有哪些版本。使用search命令!

复制代码
[root@node3 ~]# docker search ubuntu
[root@node3 ~]# docker search centos
参数 说明
NAME 镜像名称
DESCRIPTION 镜像说明
STARS 点赞数量
OFFICIAL 是否是官方的
AUTOMATED 是否是自动构建的

2)下载镜像使用的是pull从网络的镜像仓库拉取到本地docker中!

复制代码
docker pull ubuntu:20.04
docker pull centos:7

3、查看本地的所有镜像

复制代码
[root@node3 docker]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
ubuntu       20.04     6df894023726   3 weeks ago     72.8MB
centos       7         eeb6ee3f44bd   23 months ago   204MB

4、基于下载的镜像创建两个容器

创建一个后台运行的容器 - 需要run选项:

复制代码
[root@node3 docker]# docker run -d --name ubuntu ubuntu:20.04

 -d 选项创建的容器后台运行         --name 容器名

创建容器并进入到容器内部:

复制代码
[root@node3 docker]# docker run -it --name centos7 centos:7 /bin/sh
sh-4.2# 
-t 打开容器终端;-i 交互式访问;/bin/sh 进入容器必须要的解释器(shell)

5、怎么退出容器: 两种方法分别实现?

用-it创建容器后,不停止容器退出:Ctrl+Q+P

复制代码
[root@node3 docker]# docker ps
CONTAINER ID   IMAGE      COMMAND     CREATED          STATUS          PORTS     NAMES
334b759ef6d0   centos:7   "/bin/sh"   56 seconds ago   Up 55 seconds             centos7
[root@node3 docker]# docker kill centos7
centos7
[root@node3 docker]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

用-it创建容器后,退出并停止容器:Ctrl+D 或 exit

复制代码
[root@node3 docker]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

6、怎么查看正在运行的容器和所有容器?

docker ps 默认查看正在运行的容器:

复制代码
[root@node3 docker]# docker start centos7
centos7
[root@node3 docker]# docker ps
CONTAINER ID   IMAGE      COMMAND     CREATED         STATUS         PORTS     NAMES
334b759ef6d0   centos:7   "/bin/sh"   9 minutes ago   Up 3 seconds             centos7

查看所有的容器-需要用到ps选项:

复制代码
[root@node3 docker]# docker ps -a
CONTAINER ID   IMAGE          COMMAND       CREATED          STATUS                          PORTS     NAMES
334b759ef6d0   centos:7       "/bin/sh"     10 minutes ago   Up 42 seconds                             centos7
2992d992a21f   centos:7       "/bin/bash"   23 minutes ago   Exited (0) About a minute ago             centos
50144503b9d3   ubuntu:20.04   "/bin/bash"   24 minutes ago   Exited (0) 24 minutes ago                 ubuntu

7、容器的启动、 停止及重启操作。

#启动

docker start centos

#停止正在运行

docker stop centos

#stop 关闭运行的容器

#kill 杀死运行的容器

#重启

docker restart centos

8、怎么连接到运行的容器?

这里我们需要使用到exec选项

复制代码
[root@node3 ~]# docker ps 
CONTAINER ID   IMAGE      COMMAND     CREATED          STATUS         PORTS     NAMES
334b759ef6d0   centos:7   "/bin/sh"   18 minutes ago   Up 4 minutes             centos7
[root@node3 ~]# docker exec -it centos7 /bin/sh
sh-4.2# 

9、查看容器或镜像的内部信息?

需要inspect选项:

复制代码
[root@node3 ~]# docker inspect centos:7
相关推荐
糠帅傅蓝烧牛肉面21 小时前
单实例多MCP聚合服务:两种实现方案深度对比
前端·docker·ai
4032407321 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
零意@21 小时前
debian如何把新编译的内核镜像替换原来的内核
运维·debian·更新内核版本·linux内核版本更新·debian更新内核
Love丶伊卡洛斯21 小时前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
汪碧康1 天前
一文掌握k8s的升级更新策略
云原生·容器·kubernetes·k8s·亲和性·xkube
有毒的教程1 天前
SaltStack 开源自动化运维工具详细介绍
运维·开源·saltstack
大房身镇、王师傅1 天前
【VirtualBox】VirtualBox 7.1.6 RockyLinux10 配置增强功能 设置共享目录
运维·服务器·virtualbox·rockylinux10
betazhou1 天前
rsync使用案例分析
linux·运维·服务器·rsync·同步数据
杨浦老苏1 天前
离线优先的自托管笔记应用Anchor
笔记·docker·群晖
zcz16071278211 天前
docker部署 WVP-Pro
容器