0
点赞
收藏
分享

微信扫一扫

【C 语言经典100例】C 练习实例1

桑二小姐 2023-11-29 阅读 55

一、 为什么出现

Docker是基于Go语言实现的云开源项目。

二、docker 和 传统的虚拟机对比

 三、docker基本组成(三要素)

 四、安装docker(详细)

cat /etc/redhat-release 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
gcc -v 查看系统是否安装gcc

----- 安装命令
yum -y install gcc  

yum -y install gcc-c++

yum install -y yum-utils

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
centos 7 :
yum makecache fast

centos 8 :
yum makecache


先更新yum(包、内核)此处可以不更新,会更新linux所有安装包包、,导致意外 ,升级所有包同时也升级软件和系统内核。 更新完后需要重启系统 : reboot

 yum出问题:Error: Failed to download metadata for repo 'appstream': Cannot prepare internal mirrorlist: No URLs in mirrorlist

可以参考:【已解决】Error: Failed to download metadata for repo ‘appstream‘: Cannot prepare internal mirrorlist-CSDN博客

 yum -y update

安装最新版本的 Docker Engine-Community 和 containerd,安装过程中会出现两次:Is this ok [y/N]: y ,都输入y,然后按Enter键

yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin

 查看是否开机启动

sudo systemctl list-unit-files | grep enable

 开机启动

sudo systemctl enable docker.service
sudo systemctl start docker

查看docker 服务

ps -ef|grep docker

 通过运行 hello-world 镜像来验证是否正确安装了 Docker Engine-Community

 sudo docker run hello-world

 看到下面表示运行成功!

 

10.查看docker版本

docker -v
docker version
systemctl restart docker

或者

service docker restart

 五、阿里云镜像加速器配置

 新建文件夹

mkdir -p /etc/docker

 设置镜像加速地址

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://nmmxt7ol.mirror.aliyuncs.com"]
}
EOF

重新启动docker

sudo systemctl daemon-reload

sudo systemctl restart docker

六、doker常用的命令整理

以下是Docker的一些常用命令,按功能分类:

帮助启动类命令:
启动docker: systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态: systemctl status docker
开机启动: systemctl enable docker
查看docker概要信息: docker info
查看docker总体帮助文档: docker --help
查看docker命令帮助文档: docker 具体命令--help

1. 查看容器和镜像
docker images:查看所有本地Docker镜像。
docker ps:列出正在运行的容器。
docker ps-l:列出最后一次创建的容器。
docker inspect:查看容器的底层信息。
docker system df 查看镜像/容器/数据卷所占的空间

2. 容器管理
docker run:启动一个新的容器。
docker start:启动一个已经存在的容器。
docker stop:停止一个正在运行的容器。
docker rmi 镜像名/镜像ID :删除一个容器,必须为停止状态。
docker rmi -f 镜像名/镜像ID 强制删除容器
docker rmi -f $(docker images -qa) 删除docker引擎中的全部镜像
docker ps -a:查看所有容器,包括已经停止的。

3. 镜像管理
docker search 镜像名 :搜索某个镜像
docker pull:从Docker镜像仓库中下载镜像。
docker tag:给本地镜像添加标签。
docker images -d:列出本地所有镜像,包括没有使用的缓存镜像。

docker rmi:删除本地一个或多个镜像。

4. 数据管理
docker cp:从容器中拷贝文件到本地文件系统,或从本地文件系统拷贝文件到容器中。
docker exec:在正在运行的容器中执行命令。
docker logs:查看容器内标准输出。
docker top:查看容器内部运行的进程。
docker port:查看容器的端口映射。
以上是Docker的一些常用命令,希望可以帮助到您。

七、容器命令(重点)

1- run 运行 :
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]	新建/启动容器
docker run -it IMAGE [COMMAND] [ARG...]	启动交互式容器
docker run --name=容器名 IMAGE [COMMAND] [ARG...]	新建指定名字的容器
docker run -d IMAGE [COMMAND] [ARG...]	为容器开启守护进程
docker ps [OPTIONS]	列出当前正在运行的所有容器

2-退出:
exit	退出容器,容器停止
ctrl+p+q	退出容器,容器不停止

3- 启动/重启/停止
docker start 容器ID或者容器名	启动已停止运行的容器
docker restart 容器ID或者容器名	重启容器
docker stop 容器ID或者容器名	停止容器
docker kill 容器ID或容器名	强制停止容器

4- 删除
docker rm 容器ID	删除已停止的容器:
docker rm -f 容器名/容器ID	强制删除正在运行的容器
docker rm -f $(docker ps -a -q)	一次性删除多个容器实例

5- 查看容器日志
docker logs 容器ID	查看容器日志

6-查看容器进程
docker top 容器ID	查看容器内运行的进程

7-查看容器内部的细节(就是小型linux)
docker inspect 容器ID	查看容器内部的细节

8-进入容器
docker exec -it 容器ID /bin/bash	进入正在运行的容器并以命令行交互

9-copy docker 容器中文件 到主机
docker cp 容器ID:容器路径 主机路径	从容器内拷贝文件到主机上

10-导入/导出容器
docker export 容器ID > 文件名.tar	导出容器为一个tar文件
`cat 文件名.tar	docker import - 镜像用户/镜像名:镜像版本
 重点
7.1启动交互式容器 (重点)
1-先拉去ubuntu 的镜像:

docker pull ubuntu

2-交互模式启动容器,并在容器内执行/bin/bash命令,启用交互式shell

docker run -it ubuntu /bin/bash

对比上面, --name 指定容器名称
docker run -it --name=myubuntu ubuntu

3-退出
直接 exit

7.2

 7.2 docker ps  [OPTIONS]  查看运行中容器命令
OPTIONS说明(常用):

-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
7.3 启动守护式容器(重点)
启动后台守护容器
docker run -d redis

7.4进入/退出容器(重点)
进入正在运行的容器并以命令行交互:

方式1(推荐):

docker exec -it 容器ID bashShell

方式2:

docker attach 容器ID
[root@iZuf6hxabqikytnrumsi4gZ ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS      NAMES
9ba0c8d50371   redis     "docker-entrypoint.s…"   40 minutes ago   Up 40 minutes   6379/tcp   unruffled_lamport
[root@iZuf6hxabqikytnrumsi4gZ ~]# docker exec -it 9ba0c8d50371 /bin/bash
root@9ba0c8d50371:/data# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
127.0.0.1:6379> 

 

举报

相关推荐

0 条评论