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

相关推荐
青木沐1 小时前
Jenkins介绍
运维·jenkins
WTT00111 小时前
2024楚慧杯WP
大数据·运维·网络·安全·web安全·ctf
苹果醋31 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
日记跟新中2 小时前
Ubuntu20.04 修改root密码
linux·运维·服务器
唐小旭2 小时前
服务器建立-错误:pyenv环境建立后python版本不对
运维·服务器·python
明 庭2 小时前
Ubuntu下通过Docker部署NGINX服务器
服务器·ubuntu·docker
BUG 4042 小时前
Linux——Shell
linux·运维·服务器
大霞上仙3 小时前
Linux 多命令执行
linux·运维·服务器
冷心笑看丽美人3 小时前
探索 Samba 服务器:搭建跨平台文件共享的桥梁
运维·服务器