Linux ubuntu下docker容器安装和基础命令
Docker介绍:
云计算就好比大货轮,docker就是集装箱虚拟机虽然可以隔离出很多“子电脑”,但占用空间更大,启动更慢,虚拟机软件可能还要花钱(例如VMWare)。
而容器技术恰好没有这些缺点。它不需要虚拟出整个操作系统,只需要虚拟一个小规模的环境(类似“沙箱”)。它启动时间很快,占的空间很小,资源的利用率很高
Docker 的组成:
Docker 主机(Host):一个物理机或虚拟机,用于运行 Docker 服务进程和容器。
Docker 服务端(Server):Docker 守护进程,运行 docker 容器。
Docker 客户端(Client):客户端使用 docker 命令或其他工具调用 docker API。
Docker 仓库(Registry): 保存镜像的仓库,类似于 git 或 svn 这样的版本控制系
Docker 镜像(Images):镜像可以理解为创建实例使用的模板。
Docker 容器(Container): 容器是从镜像生成对外提供服务的一个或一组服务。
一、docker安装:
/安装系统工具:
apt-get update
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
/安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
/写入软件源信息
add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
/更新并安装Docker-CE
apt update
apt-get -y install docker-ce=5:18.09.9~3-0~ubuntu-bionic docker-ce-cli=5:18.09.9~3-0~ubuntu-bionic
二:下载镜像:
/从 docker 仓库将镜像下载到本地,命令格式如下:
docker pull 仓库服务器:端口/项目名称/镜像名称:tag(版本)号
/例如下载centos:
docker pull centos
/查看本地镜像:
docker images
/删除镜像:通过镜像启动容器的时 候镜像不能被删除,除非将容器全部关闭
docker rmi centos
三、容器操作基础命令:
/创建并进入容器:
docker run -d -ti --name zzx_centos centos:7 /bin/bash
/使用 exec 命令进入到正在运行的容器:
docker exec -ti zzx_nginx /bin/bash
/进入容器查看系统版本:
cat /etc/issue
/进入之后要下载需要更新下载源:
apt update
/显示正在运行的容器:
docker ps
/显示所有容器:包括当前正在运行以及已经关闭的所有容器
docker ps -a
/批量关闭正在运行的容器:
docker stop $(docker ps -a -q)
/批量强制关闭正在运行的容器:
docker kill $(docker ps -a -q)
/删除容器:
docker rm 容器 ID/容器名称 #删除容器
docker rm -f 容器 ID/容器名称 #强制删除正在运行的容器
/批量删除已经关闭的容器:
docker rm `docker ps -q -a -f status=exited`
/随机映射端口:
docker pull nginx #下载 nginx 镜像
docker run -d --name zzx_nginx nginx:latest
/指定端口映射:
docker run -d -ti --name zzx_nginx2 -p :80 nginx:latest #指定nginx的80端口映射为随机端口号
docker run -d -ti --name zzx_nginx2 -p :80/tcp nginx:latest #还可指定为tcp或udp端口
端口映射完成就可以用本机ip浏览器访问
/单次运行:直接进入容器,容器退出后自动删除
docker run --rm -ti nginx /bin/bash
/将容器映射到虚拟机/物理机(在容器里写文件,会同步到虚拟机/物理机,反过来同理):
docker run -d -ti --name zzx_nginx3 -P -v /data/nginx1:/data/nginx1 nginx /bin/bash
/给镜像做 tag :
docker tag nginx:latest images.zzx.com/system/nginx:1.18