当前位置: 首页 > news >正文

docker实战命令大全

文章目录

  • 1 环境准备
    • 1.1 移除旧版本Docker
    • 1.2安装工具包
    • 1.3配置docker yum源
  • 2 安装最新docker
    • 2.1 设置开机自启docker
    • 2.2配置加速器
  • 3 实操-镜像
    • 3.1搜索镜像
    • 3.2下载镜像
    • 3.3查看镜像
    • 3.4 删除镜像
  • 4 实操-容器
    • 4.1运行nginx容器
    • 4.2 查看容器
    • 4.3启动容器
    • 4.5关闭容器
    • 4.6查看容器日志
    • 4.7删除容器
    • 4.8让公网可以访问到nginx
    • 4.9进入容器内部
  • 5实操-保存镜像
    • 5.1 提交镜像
    • 5.2 保存镜像
    • 5.3加载别人的镜像

1 环境准备

1.1 移除旧版本Docker

[root@root ~]# sudo yum remove docker \
>                   docker-client \
>                   docker-client-latest \
>                   docker-common \
>                   docker-latest \
>                   docker-latest-logrotate \
>                   docker-logrotate \
>                   docker-engine
已加载插件:fastestmirror
参数 docker 没有匹配
参数 docker-client 没有匹配
参数 docker-client-latest 没有匹配
参数 docker-common 没有匹配
参数 docker-latest 没有匹配
参数 docker-latest-logrotate 没有匹配
参数 docker-logrotate 没有匹配
参数 docker-engine 没有匹配
不删除任何软件包
[root@root ~]# 

1.2安装工具包

[root@root ~]# sudo yum install -y yum-utils

1.3配置docker yum源

[root@root ~]# sudo yum-config-manager \
> --add-repo \
> http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2 安装最新docker

[root@root ~]# sudo yum install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

2.1 设置开机自启docker

[root@root ~]# docker ps  检查docker
Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
[root@root ~]# systemctl start docker 开启docker
[root@root ~]# docker ps 说明docker安装成功
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root ~]# systemctl enable docker 设置开机自启
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@root ~]# 

2.2配置加速器

[root@root ~]# # 配置加速
[root@root ~]# sudo mkdir -p /etc/docker
[root@root ~]# sudo tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
> }
> EOF
{"registry-mirrors": ["https://mirror.ccs.tencentyun.com"]
}
[root@root ~]# sudo systemctl daemon-reload
[root@root ~]# sudo systemctl restart docker

3 实操-镜像

3.1搜索镜像

[root@root ~]# docker search nginx

在这里插入图片描述

3.2下载镜像

下载最新版本的镜像

[root@root ~]# docker pull  nginx 

官网: https://hub.docker.com/
查看版本号,指定版本下载镜像
下载指定版本的镜像

[root@root ~]# docker pull nginx:1.26.0

3.3查看镜像

[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    4f67c83422ec   5 days ago    188MB
nginx        1.26.0    94543a6c1aef   4 weeks ago   188MB
[root@root ~]# 

在这里插入图片描述

3.4 删除镜像

[root@root ~]# docker rmi nginx:1.26.0

或者

[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        latest    4f67c83422ec   5 days ago    188MB
nginx        1.26.0    94543a6c1aef   4 weeks ago   188MB
[root@root ~]# docker rmi 4f67c83422ec
Untagged: nginx:latest
Untagged: nginx@sha256:0f04e4f646a3f14bf31d8bc8d885b6c951fdcf42589d06845f64d18aec6a3c4d
Deleted: sha256:4f67c83422ec747235357c04556616234e66fc3fa39cb4f40b2d4441ddd8f100
Deleted: sha256:61eeae0da48f3cc48ebf1d0a192ad8f19cb6c6ed67d0f0a7ef1f1c443c1effd7
Deleted: sha256:5cde5b697c8179331355ba55c3754bb565e74b9c84170f398a736e29e8ece1f8
Deleted: sha256:8f957df28f8990c12af00f83cbc17560d57284835f695e3b1c2a39d22f6b117d
Deleted: sha256:4421830dc9390171c909a2beb619a00bb2c4a1fb8f7e187b14a38e1f84aa76db
Deleted: sha256:b25c84fbc54990754cb7662c5f299f2e44700731f5f19e610f61eb7348c2c2fc
Deleted: sha256:23b17aa4ac172d8d931417d0c681ea8f94d26e353a3f9d2d3cc75e01fed6d99e
[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED       SIZE
nginx        1.26.0    94543a6c1aef   4 weeks ago   188MB
[root@root ~]# 

4 实操-容器

4.1运行nginx容器

[root@root ~]# docker run nginx
不指定版本会自动下载最新的镜像

4.2 查看容器

[root@root ~]# docker ps 查看正在运行的容器
CONTAINER ID   IMAGE     COMMAND                   CREATED              STATUS              PORTS     NAMES
0d5a6e9fa449   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    relaxed_napier
[root@root ~]# docker ps -a 查看全部的容器
CONTAINER ID   IMAGE     COMMAND                   CREATED              STATUS              PORTS     NAMES
0d5a6e9fa449   nginx     "/docker-entrypoint.…"   About a minute ago   Up About a minute   80/tcp    relaxed_napier
[root@root ~]# 

在这里插入图片描述

4.3启动容器

[root@root ~]# docker start 0d5a6e9fa449(容器ID)
0d5a6e9fa449
[root@root ~]# 

4.5关闭容器

[root@root ~]# docker stop  relaxed_napier
relaxed_napier
[root@root ~]# 

4.6查看容器日志

docker logs 0d5a6e9fa449(容器ID)

4.7删除容器

[root@root ~]# docker rm 0d5a6e9fa449(容器ID)
Error response from daemon: cannot remove container "/relaxed_napier": container is running: stop the container before removing or force remove
[root@root ~]# docker rm -f 0d5a6e9fa449(容器ID)强制删除
0d5a6e9fa449
[root@root ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root ~]# 

4.8让公网可以访问到nginx

-d 后台启动
–name 指定容器的名称
-p 将主机的端口与容器的端口向映射

[root@root ~]# docker run -d --name mynginx(指定容器的ID,一个镜像可以开启多个容器) -p 80:80 nginx
26ec8493b7efa6ad322e06e9fce5446b39c00c8a501ad7c76b6c4c690158a27c
[root@root ~]# 

4.9进入容器内部

一个容器就是相当于一个独立的linux系统。

[root@root ~]# docker exec -it mynginx /bin/bash
root@26ec8493b7ef:/# ll
bash: ll: command not found
root@26ec8493b7ef:/# ls
bin  boot  dev  docker-entrypoint.d  docker-entrypoint.sh  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@26ec8493b7ef:/# cd /usr 
root@26ec8493b7ef:/usr# ls

5实操-保存镜像

5.1 提交镜像

可以将一个容器进行打包
-m 描述信息

[root@root ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                   CREATED          STATUS          PORTS                               NAMES
26ec8493b7ef   nginx     "/docker-entrypoint.…"   40 minutes ago   Up 40 minutes   0.0.0.0:80->80/tcp, :::80->80/tcp   mynginx
[root@root ~]# docker commit -m "update indx.html" mynginx nginx:v1.0
sha256:ae6baa8d8e15110c9a893ec38a49cbf3c8e02873eb3d4a12255b8e9d3c2eea36
[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        v1.0      ae6baa8d8e15   8 seconds ago   188MB
nginx        latest    4f67c83422ec   5 days ago      188MB
nginx        1.26.0    94543a6c1aef   4 weeks ago     188MB
[root@root ~]# 

5.2 保存镜像

-o 指定导出的文件名和格式

[root@root ~]# docker save -o nginx.tar nginx:v1.0
[root@root ~]# ls
nginx.tar
[root@root ~]# 

5.3加载别人的镜像

[root@root ~]# docker load -i nginx.tar
-i 指定加载的文件

[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID   CREATED   SIZE
[root@root ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@root ~]# ls
nginx.tar
[root@root ~]# pwd
/root
[root@root ~]# docker load -i nginx.tar 
5d4427064ecc: Loading layer [==================================================>]  77.88MB/77.88MB
37719940dcaa: Loading layer [==================================================>]  113.9MB/113.9MB
d58e4a0f2971: Loading layer [==================================================>]  3.584kB/3.584kB
10988c108f66: Loading layer [==================================================>]  4.608kB/4.608kB
7da4ba4a0030: Loading layer [==================================================>]   2.56kB/2.56kB
261a5dc153b4: Loading layer [==================================================>]   5.12kB/5.12kB
3f6a3d22b9ce: Loading layer [==================================================>]  7.168kB/7.168kB
f810041d78ee: Loading layer [==================================================>]  14.34kB/14.34kB
Loaded image: nginx:v1.0
[root@root ~]# docker images
REPOSITORY   TAG       IMAGE ID       CREATED         SIZE
nginx        v1.0      ae6baa8d8e15   7 minutes ago   188MB
[root@root ~]# 

相关文章:

  • 【Python】使用flask作为web服务器
  • “薅羊毛”到被“割韭菜”,警惕网络副业陷井
  • 基于电荷的EPFL HEMT模型
  • 使用Ollama+OpenWebUI本地部署Gemma谷歌AI开放大模型完整指南
  • 【论文速读 | USENIX Security‘2022】Debloating Address Sanitizer
  • Python下载库
  • unity中常见的角色控制方法
  • 十种排序算法的python实现
  • 把qml程序制作成安装包(Windows)
  • C++查看编译后的代码
  • Springboot jar运行时,将jar内的文件拷贝到文件系统中
  • hot100经典:困难 Leetcode 4. 寻找两个正序数组的中位数
  • C++ 20新特性之三向比较运算符
  • UG数控编程入门:从基础到精通的全方位指南
  • 一个 python+tensorFlow训练1万张图片分类的简单直观例子( 回答由百度 AI 给出 )
  • 【刷算法】求1+2+3+...+n
  • CAP 一致性协议及应用解析
  • PV统计优化设计
  • Spark RDD学习: aggregate函数
  • Spring框架之我见(三)——IOC、AOP
  • windows下使用nginx调试简介
  • 分布式任务队列Celery
  • 搞机器学习要哪些技能
  • 给第三方使用接口的 URL 签名实现
  • 简单易用的leetcode开发测试工具(npm)
  • 力扣(LeetCode)22
  • 正则表达式
  • 2017年360最后一道编程题
  • Java性能优化之JVM GC(垃圾回收机制)
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 好程序员大数据教程Hadoop全分布安装(非HA)
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #C++ 智能指针 std::unique_ptr 、std::shared_ptr 和 std::weak_ptr
  • #java学习笔记(面向对象)----(未完结)
  • #laravel 通过手动安装依赖PHPExcel#
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • $.ajax()
  • (13)Hive调优——动态分区导致的小文件问题
  • (删)Java线程同步实现一:synchronzied和wait()/notify()
  • (小白学Java)Java简介和基本配置
  • (一)kafka实战——kafka源码编译启动
  • ****Linux下Mysql的安装和配置
  • ***通过什么方式***网吧
  • .NET C# 使用GDAL读取FileGDB要素类
  • .NET CF命令行调试器MDbg入门(一)
  • .net 开发怎么实现前后端分离_前后端分离:分离式开发和一体式发布
  • .net 桌面开发 运行一阵子就自动关闭_聊城旋转门家用价格大约是多少,全自动旋转门,期待合作...
  • .NET使用HttpClient以multipart/form-data形式post上传文件及其相关参数
  • @Autowired和@Resource装配
  • @RequestBody与@ModelAttribute
  • []Telit UC864E 拨号上网
  • [C++][基础]1_变量、常量和基本类型
  • [CC2642r1] ble5 stacks 蓝牙协议栈 介绍和理解
  • [CERC2017]Cumulative Code
  • [CQOI 2010]扑克牌