Docker

本文详细介绍了Docker的基础知识,包括镜像、容器和仓库的概念及其操作,如拉取、删除镜像,创建及管理容器。还涵盖了Docker在阿里云的加速配置,以及一系列常用的Docker命令,如启动、停止、删除容器等。此外,还演示了如何使用Docker进行日志查看和进程管理。
摘要由CSDN通过智能技术生成

Docker

Docker的基本组成

docker镜像就好比一个模板,可以通过这个模板来创建容器,eg:tomcat镜像==>run==>tomcat01容器

容器(container):

docker利用容器技术,独立运行一个或一组应用,通过镜像的方式创建

启动,停止,删除,基本命令

仓库(repository):

仓库就是存放镜像的地方

仓库分为共有仓库和私有仓库

Docker安装

安装流程

#1.删除已有docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#2.下载需要的安装包
yum install -y yum-utils
#3.设置镜像的仓库
sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    yum-config-manager --enable docker-ce-nightly
#4.docker安装
yum install docker-ce docker-ce-cli containerd.io
#5.启动docker
systemctl start docker
#开机自启
systemctl enable docker
#6.查看docker是否安装成功
docker version
#7.hello docker
docker run hello-world
#8.查看镜像
docker images
# 结果
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   5 months ago   13.3kB
#docker的卸载
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

Docker配置阿里云加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://036bdzy5.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker的常用命令

帮助命令

docker version

镜像命令

# 本地镜像操作
docker images --help

docker images -a
# 仓库         标签		 镜像id		   创建时间		   镜像大小
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   5 months ago   13.3kB

docker images -f
# label:这个是根据标签进行过滤,其中lable的值,是docker在编译的时候配置的或者在Dockerfile中配置的

docker images -f "dangling=true"		#dangling:显示标记为空的镜像,值只有true和false
docker images -f 'before=mysql'			# 表示某个镜像构建时间之前的镜像列表
docker images -f 'since=mysql'			# 表示的是在某个镜像构建之后构建的镜像
docker images -f 'reference=hello*' 	# reference:这个是添加正则进行匹配

# docker-hub仓库镜像操作
docker search --help
docker search mysql
docker search mysql -f=stars=1000 # 查询收藏数在1000以上的镜像
# 拉取镜像,docker镜像是分层存储的,每一层都可以被不同镜像使用
docker pull --help
docker pull mysql		# 默认取最新的版本
docker pull mysql:5		# 指定版本
image-20210819172812789
# 删除镜像
docker rmi --help

docker rmi mysql  			# 根据 REPOSITORY 来删除镜像
docker rmi mysql:v1    		# 根据 REPOSITORY:TAG 来删除镜像
docker rmi 1e1148e4cc2c 	# 根据 IMAGE ID 来删除镜像,同时会删除所有该镜像的TAG镜像
docker rmi $(docker images -f 'reference=mysql*' -q)

docker命令

说明:有了镜像才可以创建容器,下面利用linux的centos测试

docker pull centos

新建容器

docker run [可选参数] image

# 参数说明
--name="Name"	容器名字 tomcat01 tomcat02 用来区分容器
-d				后台方式运行
-it				使用交互方式运行,进入容器查看内容
-p				
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口(常用)
	-p 容器端口
	   随机端口
	   
docker run -it --name="test" centos /bin/bash		# 测试,启动并进入到容器

# ls 查看容器的centos,基础版本,很多命令是不完善的
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var

查看容器

docker ps			# 查看正在运行的容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

docker ps -a		# 查看所有的容器
docker ps -n=?		# 显示n个容器的
docker ps -aq		# 只显示containerid

退出容器并删除

exit					# 从容器中退回主机
ctrl + P + Q			# 容器不停止退出

docker rm 容器id					   # 删除指定容器,不能删除正在运行的容器
docker rm -f ${docker ps -aq}		# 删除所有容器
docker ps -a -q|xargs docker rm		# 删除所有容器

启动、停止等操作

docker start 容器id		# 启动容器
docker restart 容器id		# 重启容器
docker stop 容器id		# 停止容器
docker kill 容器id		# 强制停止容器

日志命令

# 命令docker run -d 镜像名/镜像id ,docker使用后台运行,必须有一个前台进程,没有则会自动停止
docker run -d centos /bin/bash -c "while true;do echo zhanghao; sleep 5;done"

#查看日志
docker logs -tf --tail 10 4f5c654e3e38
docker logs -tf -n 10 test

进程命令

docker top test
# 该命令用于检查容器或镜像的详细信息
docker inspect test
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值