首页 > 其他分享 >Docker 复习

Docker 复习

时间:2023-08-27 15:33:43浏览次数:29  
标签:容器 复习 ## repo 镜像 docker root Docker

Docker 实践

查看系统的两大命令

#发行版
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
#内核
[root@localhost ~]# uname -r
3.10.0-1160.el7.x86_64

docker 安装

1.docker基础操作

#更新源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/doker.repo https://download.docker.com/linux/centos/docker-ce.repo

#刷新yum
yum clean all && yum repolist all && yum makecache

#linux内核的流量转发
cat <<EOF >/etc/sysctl.d/docker.conf
net.bridge.bridge-nf-cal1-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward=1
EOF

#查看是否有可用版本
yum list docker-ce --showduplicates | sort -r

#下载 docker18.09.9版本
yum install -y docker-ce

#配置docker加速器
mkdir /etc/docker
cat <<EOF >/etc/docker/daemon.json
{
"registry-mirrors" : [
    "https://8xpk5wnt.mirror.aliyuncs.com"
]
}
EOF

#启动docker
systemctl start docker && systemctl enable docker

2.docker内置命令

#docker 查看版本
docker version

#搜索nginx镜像文件是否存在
docker search nginx

#查看docker镜像
docker images

#删除镜像
docker rmi +镜像ID

#拉取nginx镜像(自动拉取第一个 nginx镜像)(也可以指定版本号 例:nginx:8.15.6)
docker pull nginx

#运行镜像 (-d:后台运行 -it:后台运行 --name:容器名 -p:端口映射,宿主机:容器端口)
docker run 参数 镜像名字/ID(例:docker run -d -it --name nginx -p 8888:80 nginx)

#进入镜像内
docker exec -it +ID /bin/bash

#查看容器日志
docker logs -f

#查看容器资源信息
docker top +容器Id

#查看容器信息
docker inspect +容器Id

3.镜像管理

#docker拉取进行存放目录(json数据类型文件)
[root@localhost ~]# ls -l /var/lib/docker/image/overlay2/imagedb/content/sha256/
  总用量 24
  -rw------- 1 root root 8151 7月 17 16:09 021283c8eb95be02b23db0de7f609d603553c6714785e7a673c6594a624ffbda
  -rw------- 1 root root 12945 7月 18 09:09 95f422fe411bb7540f4a680dfde9293d53f7b98abc1c5a8d453568fab5679ccc

#批量删除镜像
docker rmi `docker images -ap`

#批量删除容器
docker rm `docker ps -aq`

#导出镜像
docker images save +镜像名 > +/目录

#导入镜像
docker image load -i +/那个目录的镜像

#查看镜像详细服务
docker image inspect +镜像ID

#端口映射
docker run -d --name +自定义容器名 -p 映射端口:容器端口 +镜像名
##随机端口映射
docker run --name +自定义容器名 -p +镜像名

#进入镜像
docker exec -it +镜像ID bash

#查看容器端口转发情况
docker port +容器ID

#提交容器
docker commit +容器ID +新的镜像名

Dockerfile实例

  • 使用python语言,基础flask web框架,自己开发网站

  • 使用dockerfile

[root@master DOCKERFILE]# cat 8888.py
##python解释器utf-8
#coding:utf-8
##导入Flask这个包
from flask import Flask
##app赋值
app=Flask(__name__)
##装饰器(例如:http:888.com/huahua)
@app.route('/huahua')
##网页首页显示
def hell():
return "hello docker, I am nginx"
##启动框架
if __name__=="__main__":
app.run(host="0.0.0.0",port=80)
[root@master DOCKERFILE]# cat Dockerfile 
##定义镜像
FROM centos:7
##修改镜像源
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo;
##修改镜像源
RUN curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo;
##生成缓存
RUN yum makecache fast;
##安装python3
RUN yum install python3-devel python3-pip -y;
##安装flask框架
RUN pip3 install -i https://pypi.douban.com/simple flask
##拷贝8888.py到/opt
COPY 8888.py /opt
##指定进入容器后目录
WORKDIR /opt
##暴露端口
EXPOSE 80
##容器内部执行文件
CMD ["python3","8888.py"]

##启动dockerfile(这个会报错,因为名称不能大写)(-t:设置dockerfile名称)
[root@master DOCKERFILE]# docker build -t 'NGINX' .
##(--no-cache:从缓存直接)
[root@master DOCKERFILE]# docker build --no-cache -t 'huahua\my_flask_web' .
 

 

 

 

 

标签:容器,复习,##,repo,镜像,docker,root,Docker
From: https://www.cnblogs.com/huahuadebk/p/17660344.html

相关文章

  • Docker方式安装wordpress
    准备拉取wordpress,mysql镜像dockerpullwordpressdockerpullmysql启动wordpress,mysql容器启动wordpress容器,将容器80端口映射到主机端口8080dockerrun-d-p8080:80--namewordpress01wordpress启动mysql容器,映射数据库端口到主机的3306,设置root密......
  • 代码随想录第4天|链表复习
    做这种算法题真的要放平心态,你想不到思路的时候不要觉得自己太笨,其实想不到很正常,今天环形链表和相交链表这两道题,真的一点思路都没有,环形链表是最难理解的,在课堂上学的链表上的那点东西拿来做这种题确实还是差很多,我真的非常感谢这个做题的训练营,没有它我自己真的做不下去,现在跟......
  • 使用Docker拉取镜像时报错
    使用Docker拉取镜像时报错问题截图问题描述使用Docker拉取镜像时,代码运行后直接报错错误信息:errorpullingimageconfiguration:downloadfailedafterattempts=6:net/http:TLShandshaketimeout所做尝试:按照搜索引擎推荐的解决方法向相应的配置文件中加入几个可......
  • 遇到的Docker常用命令
    遇到的Docker常用命令一、安装Docker1)Docker要求CentOS系统的内核版本高于3.10,首先查看系统内核版本是否满足uname-r2)使用root权限登录系统,确保yum包更新到最新sudoyumupdate-y3)假如安装过旧版本,先卸载旧版本sudoyumremovedockerdocker-commondocker-sel......
  • docker sh build.sh运行过程中卡着不动
    场景:使用docker,编译Doris时,运行shbuild.sh命令后,三台虚拟机中,两台都可以编译成功,只有一台在一段时间后,卡着不动,没有进度环境:docker是使用yum安装的最新稳定版本,拉取对应Doris版本的Docker镜像后,将镜像挂载到本地Doris源码目录,提前准备好Maven一列包解压到Docker挂载的对应......
  • 查看已下载的Docker镜像latest具体版本
    查看已下载的Docker镜像latest具体版本dockerimageinspectlscr.io/linuxserver/calibre-web:latest|grep-iversiondockerpulllscr.io/linuxserver/calibre-web:0.6.20-ls221dockerimages|grepcalibre-web~#dockerimageinspectlscr.io/linuxserver/calibre-we......
  • windws10 安装docker desktop
    Windows10企业版安装dockerdesktop前置要求dockerdesktop安全系统要求:安装WSL2或者开启Hyper-Vwindows容器特性官方推荐WSL2,安装配置推荐使用WSL替代Hyper-V,下面主要安装WSL安装WSL安装WSL的前置条件:操作系统要求windows11: Home或Pro21H2或更高版本,......
  • 基础知识复习
    原码、反码和补码原码原码就是符号位加上真值的绝对值,即用第一位表示符号,其余位表示值。比如:如果是8位二进制:[+1]原=00000001[-1]原=10000001第一位是符号位(即第一位不表示值,只表示正负),因为第一位是符号位,所以8位二进制数的取值范围就是:[11111111,01111111]即[-127......
  • ⛳ Docker 安装 MySQL
    ⛳Docker安装MySQL......
  • 通过运行中的容器生成 Docker Compose 配置文件
    背景笔者之前有一次不小心删除了原始的docker-compose.yml文件,不过正在运行的Docker容器还在,找了许久,发现一个方法可以从这些容器中生成一个等效的DockerCompose配置文件。本文将介绍使用autocompose工具从正在运行的容器中反向生成docker-compose.yml文件。安装所需工......