Docker的安装与简单操作命令

目录

前言

docker的安装

基础docker操作

容器管理

镜像管理

容器镜像封装与加载


前言

前文简单说明了容器技术出现的背景,与对docker做了结构上的介绍Container容器技术简介-CSDN博客https://blog.csdn.net/qq_72569959/article/details/134814887

讲到docker的运行是由三个关键组件组成的,本文则是讲解了docker的安装方法与操作命令

1、镜像image

只读状态的,docker通过image创建container 类似于在VMwareworkstation上创建虚拟机所使用的iso文件,iso是一种光盘格式的镜像

docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

hello-world latest 9c7a54a9a43c 7 months ago 13.3kB

镜像来源有几种:远端仓库、本地仓库、docker tar、docker file,可以通过以下几种方式进行制作,稍后会细说

docker pull #远端拉取

docker build #通过docker file构建

docker load #拉取压缩包

docker commit #通过已有container重新封装

2、容器container

3、镜像仓库registry

远端仓库:hub.docker.com,阿里云仓库等

本地仓库可以自己搭建

docker的安装

环境可以比较随意

VMwareworkstation17 pro

centos7.8.2003

NAT网络

复制代码
#1、通过get.docker.com官网下载get-docker.sh,并且增加参数,跳过安全验证
curl -fskSL get.docker.com -o get-docker.sh

#2、下载安装
#从外网直接安装
sudo sh get-docker.sh
#从阿里云安装
sudo sh get-docker.sh --mirror Aliyun

#3、自启动
systemctl enable docker --now

#4、把用户添加到docker组内,使其可以使用docker
usermod -aG docker ws
id ws
#uid=1000(ws) gid=1000(ws) groups=1000(ws),982(docker)
su - ws

#5、测试
docker run hello-world

#6、查看docker守护进程
ps -ef | grep -i dockerd
root      13168  0.4  1.9 1554288 75428 ?       Ssl  18:40   0:57 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

基础docker操作

查看docker版本

docker --version

docker version

#查看docker状态,可以看到docker的客户端与服务器状态、远端仓库地址等

docker info

容器管理

复制代码
#容器运行
docker run httpd #直接在前台运行
docker run -d #在后台运行
docker run -p 1234:8080/tcp #端口映射,指定端口,将宿主机端口1234映射到容器8080端口,指定tcp协议
docker run -P #端口映射,随机端口
docker run --name #指定名字
docker run -it ...... /bin/bash#使其可交互,并且分配bash
docker run -v 宿主机路径:容器内地址 #指定外部挂载到容器内部,建议使用绝对路径
eg:docker run -itd --name test -p 1234:8080/tcp -v /iso:/var/tftp/boot centos /bin/bash
#CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS                                       NAMES
#886c57251999   centos    "/bin/bash"   37 seconds ago   Up 36 seconds   0.0.0.0:1234->8080/tcp, :::1234->8080/tcp   test

#重新进入已经后台运行的容器
docker exec -it 886c57251999 /bin/bash
exit #退出

#启动与关闭
docker start containerID #容器,启动!
docker restart containerID #重启

#查看正在运行的docker container
docker ps
#查看所有的docker container,包括没起来的
docker ps -a
#查看所有的正在运行docker的容器id
docker ps -q

#关闭容器
docker stop containerID #正常关闭
docker stop $(docker ps -aq) #全部关闭
docker kill containerID #强制关闭

#删除容器
docker rm containerID
docker rm -f containerID #强制删除
docker rm $(docker ps -aq) #全部删除

#复制文件
docker cp 宿主机⽂件路径 容器id:路径

镜像管理

复制代码
#在镜像仓库中搜索镜像
docker search httpd

#从docker官网拉取镜像
#使用阿里云镜像加速,拉取镜像就会优先从远端阿里云仓库拉取,就会快很多
#https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
docker pull httpd
docker pull mysql:5.7 #指定版本拉取

#查看镜像
docker images
docker images -a #查看所有镜像
docker images -q #只查看镜像id
#给image添加tag
docker tag xxxxxxxx httpd

#删除镜像,默认删除latest版本
docker rmi httpd #指定名称
or
docker image rm httpd #同意思
docker rmi hello-world:latest #指定版本
docker rmi -f hello-world #强制删除

容器镜像封装与加载

#搭建环境

docker pull centos/httpd-24-centos7

docker run -d -p 10001:8080 --name cm01 centos/httpd-24-centos7
#容器打包

#docker commit -m "描述信息" -a "作者信息" 容器ID/容器名称 ⾃定义镜像名称:⾃定义标签

docker commit -m "ws" -a "ws" cm01 wsapache:v1.0

#镜像封装

#docker save 镜像名称:标签 -o 镜像打包的⽂件名 #默认当前目录

docker save wsapache:v1.0 -o wsapache.tar

#清理环境

docker stop cm01

docker rm cm01

docker rmi wsapache:v1.0

#镜像加载与运行

docker load -i wsapache.tar

docker run -d -p 10001:8080 --name cm01 wsapache:v1.0

相关推荐
jugt28 分钟前
CentOS 7.9安装Nginx1.24.0时报 checking for LuaJIT 2.x ... not found
linux·运维·centos
21号 12 小时前
9.进程间通信
linux·运维·服务器
阿福不是狗4 小时前
Python使用总结之Mac安装docker并配置wechaty
python·macos·docker
叶落闲庭8 小时前
【k8s】k8s集群搭建
云原生·容器·kubernetes
搬码临时工8 小时前
电脑同时连接内网和外网的方法,附外网连接局域网的操作设置
运维·服务器·网络
藥瓿亭8 小时前
K8S认证|CKS题库+答案| 3. 默认网络策略
运维·ubuntu·docker·云原生·容器·kubernetes·cks
xyhshen8 小时前
k8s下离线搭建elasticsearch
elasticsearch·容器·kubernetes
Gaoithe8 小时前
ubuntu 端口复用
linux·运维·ubuntu
椰汁菠萝9 小时前
k8s集群安装坑点汇总
云原生·容器·kubernetes
背太阳的牧羊人9 小时前
sudo docker exec -it backend bash 以交互方式(interactive)进入正在运行的 Docker 容器的命令行环境
docker·容器·bash