博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
docker的简单操作
阅读量:2036 次
发布时间:2019-04-28

本文共 2169 字,大约阅读时间需要 7 分钟。

文章目录

0x01.基础操作

1.加速镜像

请首先执行以下命令,查看是否在 docker.service 文件中配置过镜像地址。

systemctl cat docker | grep ‘--registry-mirror’

如果该命令有输出,那么请执行systemctl cat docker查看 ExecStart=出现的位置,修改对应的文件内容去掉--registry-mirror参数及其值,并按接下来的步骤进行配置。

如果以上命令没有任何输出,那么就可以在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{

“registry-mirrors”: [
“https://hub-mirror.c.163.com”,
“https://mirror.baidubce.com”
]
}

注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。

之后重新启动服务。

sudo systemctl daemon-reload

sudo systemctl restart docker

最后使用docker info命令查看结果:

在这里插入图片描述

2.拉取镜像

docker pull centos

在这里插入图片描述

3.操作记录

3.1 操作镜像使其生成一个容器并以交互式命令行的状态进入容器

docker run -it centos /bin/bash
  • -i interactive
  • -t terminal

docker run -it 7a0437f04f83 /bin/bash

3.2 查看所有容器

docker ps -a

在这里插入图片描述

3.3 启动一个停止了的容器

docker start  

在这里插入图片描述

在这里插入图片描述

3.4 后台启动容器

docker run -itd --name centos-test centos /bin/bash
  • -d 后台运行

在这里插入图片描述

3.5 停止容器

docker stop 

在这里插入图片描述

3.6 进入后台启动的容器

docker attach

此命令进入容器后使用exit退出容器的时候,容器会停止运行。

在这里插入图片描述

docker exec -it 
/bin/bash

docker exec进入容器,使用exit退出容器终端时,不会导致容器的停止。

在这里插入图片描述

3.7 导出和导入容器

  • 导出容器
    我们在导出前现在root目录下创建一个文件名字为test111,将容器导出成一个tar文件:
docker export cca0440de6ba > centos.tar

在这里插入图片描述

在这里插入图片描述

  • 导入容器
    将容器恢复的时候会恢复成images镜像,而不是直接恢复成容器
docker import  centos.tar second-centos

在这里插入图片描述

在这里插入图片描述
将镜像变成容器并启动:

docker run -it 39e4589594d3 /bin/bash

在这里插入图片描述

3.8 删除容器

docker rm -f 
docker container prune #清除所有处于停止状态的容器

在这里插入图片描述

4. 拉取一个web应用

4.1 运行一个web应用

docker pull training/webappdocker run -d -P training/webapp python app.py
  • -d:让容器在后台运行。

  • -P:将容器内部使用的网络端口随机映射到我们使用的主机上。

下图表示将容器的5000端口映射到本机的49153端口,此时其他用户访问本机的49153端口即可访问容器的web服务:

在这里插入图片描述
在这里插入图片描述
我们也可以自定义映射端口,例如定义到8888端口:

docker run -d -p 8888:5000 training/webapp python app.py

在这里插入图片描述

在这里插入图片描述

4.2 查看某个容器的端口映射情况

docker port 

在这里插入图片描述

4.3 查看容器的web日志

docker logs -f 
#显示所有日子并动态读取新产生的日志docker logs --details
#显示此刻1已记录的所有日志

在这里插入图片描述

4.4 查看容器的进程

docker top 

在这里插入图片描述

4.5 检查web应用程序

使用 docker inspect 来查看 Docker 的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

docker inspect 

在这里插入图片描述

0x02 镜像image相关其他操作

1. 使用镜像的不同版本

例如centos镜像的centos6与centos7是不同的,我们通过下面的命令给仓库加上tag属性来使用不同的版本,如果不加tag则默认使用最新版:

docker run -t -i centos:6 /bin/bash

2. 删除镜像

docker rmi 

3.创建镜像

此时 ID 为 e218edb10161 的容器,是按我们的需求更改的容器。我们可以通过命令 docker commit 来提交容器副本:

docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
  • -m: 提交的描述信息

  • -a: 指定镜像作者

  • e218edb10161:容器 ID

  • runoob/ubuntu:v2: 指定要创建的目标镜像名

转载地址:http://jqraf.baihongyu.com/

你可能感兴趣的文章
Leetcode C++《热题 Hot 100-51》152. 乘积最大子序列
查看>>
Leetcode C++ 《第181场周赛-1》 5364. 按既定顺序创建目标数组
查看>>
Leetcode C++ 《第181场周赛-2》 1390. 四因数
查看>>
阿里云《云原生》公开课笔记 第一章 云原生启蒙
查看>>
阿里云《云原生》公开课笔记 第二章 容器基本概念
查看>>
阿里云《云原生》公开课笔记 第三章 kubernetes核心概念
查看>>
阿里云《云原生》公开课笔记 第四章 理解Pod和容器设计模式
查看>>
阿里云《云原生》公开课笔记 第五章 应用编排与管理
查看>>
阿里云《云原生》公开课笔记 第六章 应用编排与管理:Deployment
查看>>
阿里云《云原生》公开课笔记 第七章 应用编排与管理:Job和DaemonSet
查看>>
阿里云《云原生》公开课笔记 第八章 应用配置管理
查看>>
阿里云《云原生》公开课笔记 第九章 应用存储和持久化数据卷:核心知识
查看>>
linux系统 阿里云源
查看>>
国内外helm源记录
查看>>
牛客网题目1:最大数
查看>>
散落人间知识点记录one
查看>>
Leetcode C++ 随手刷 547.朋友圈
查看>>
手抄笔记:深入理解linux内核-1
查看>>
内存堆与栈
查看>>
Leetcode C++《每日一题》20200621 124.二叉树的最大路径和
查看>>