Docker基本讲解及演示

avatar
作者
猴君
阅读量:4

Docker安装教程

Docker安装教程

1、Docker介绍

Docker是一个开源的应用容器引擎,允许开发者将应用程序及其依赖项打包成一个轻量级、可移植的容器,然后发布到任何支持 Docker 的环境中运行,无论是开发机、测试机还是生产环境。

Docker基于沙箱技术,每个容器都有自己的独立运行环境,包括操作系统、库文件、配置等,实现了资源隔离和轻量级迁移。

2、Docker三要素

  • 镜像(image):镜像就是一个只读的模板,包含了运行容器所需的文件系统、配置参数、库和运行时环境等。
  • 容器(container):容器是代码的隔离环境,可以理解为一台独立的服务器
  • 仓库(repository):仓库中存储了一堆镜像,可以拉取或向其推送镜像

3、Docker常用命令

一:docker本身相关命令

  • 启动 docker
systemctl start docker 
  • 关闭 docker
systemctl stop docker 
  • 重新启动 docker
systemctl restart docker 
  • 查看 docker 运行状态
systemctl status docker 
  • 查看 docker 版本
docker -v 

二:镜像(image)

1.镜像的查看、搜索、拉取、删除
  • 列出本地所有镜像【查看】
docker images 结果展示:     REPOSITORY   TAG       IMAGE ID       CREATED       SIZE     nginx        latest    605c77e624dd   2 years ago   141MB     mysql        latest    3218b38490ce   2 years ago   516MB     ... 
  • 搜索镜像
docker search 镜像名	  		# 搜索与【镜像名】匹配的镜像 如:docker search nginx 
  • 拉取镜像
docker pull 镜像名:版本号 如:docker pull nginx		# 不写版本默认为最新版 
  • 删除镜像
docker rmi 镜像名 如:docker rmi nginx	# 删除 ngnix 镜像 
2.移植镜像
  • 保存镜像
docker save -o nginx.tar nginx  #将镜像nginx导出,形成本地文件nginx.tar.tar 注意:移植到其他服务器记得给tar包加上可读权限 
  • 加载镜像
docker load -i nginx.tar	#将镜像nginx从本地文件nginx.tar中加载出来 

三:容器(container)

1.容器的查看、创建、启动、关闭、重启、删除
  • 查看容器
docker ps 		# 查看已安装并正在运行的容器 docker ps -a	# 查看所有容器 
  • 创建容器并运行
docker run 配置 别名 常用配置: 	--name=NAME   		# 为容器指定名字为NAME,不使用的话系统自动为容器命名【容器名】 	--restart=always	# 容器退出后自动重新启动,保证容器服务的可靠性和持续可用性。 	--privileged=true	# 授予容器内进程访问宿主机上所有设备的权限 	-p 容器端口号:主机端口号		# 指定端口映射 	-v	文件夹:文件夹		# 目录的映射【docker容器与虚拟机共享同一个目录】 	-d	IMAGE_ID		# 后台运行容器并返回容器ID,即启动守护式容器(后台运行)   # 创建并允许 Nginx 容器 docker run --name nginx -p 80:80 -d 605c77e624dd nginx 
  • 启动容器
docker start 容器名 如:docker start nginx 
  • 关闭容器
docker stop 容器名 如:docker stop nginx 
  • 重启容器
docker restart 容器名 如:docker restart nginx 
  • 删除容器
docker rm 容器名 如:docker rm nginx 
2.查看容器日志
docker logs 容器名 如:docker logs ngnix 
3.容器重命名
docker rename 原来的容器名 新的容器名 
4.进入与退出指定容器
# 进入指定容器 docker exec -it 【IMAGE_ID|容器名】 /bin/bash 如:docker exec -it 3218b38490ce /bin/bash	【进入mysql】  # 退出容器【从容器回到虚拟机】 exit 

4、Docker的实际演示

一:mysql安装

docker search mysql 		# 找到合适的mysql镜像 docker pull mysql			# 下载镜像(默认最新版本)  # 安装mysql容器并运行 docker run \     --name mysql8 \	     --restart=always \     --privileged=true \     -e MYSQL_ROOT_PASSWORD='123456' \     -p 3306:3306 \     -v /opt/software/mysql_docker_3308:/mysql_share \     -d  3218b38490ce  docker ps								# 查看已安装并正在运行容器 docker exec -it mysql8 /bin/bash		# 进入mysql容器 exit									# 退出mysql容器 

主要参数讲解

--name mysql8:给容器取名为mysql8

--restart=always:每当docker启动时总能启动mysql8容器

-e MYSQL_ROOT_PASSWORD:mysql密码

-p 3308:3306:映射容器的3306端口到宿主机的3308端口,外部主机可以直接通过宿主机ip:3308访问到容器的mysql8服务。

-d 3218b38490ce:后台模式下运行指定容器【-d 镜像ID】

Docker中的Mysql与外网连接测试

二:Redis安装

docker search redis				# 找到合适的redis镜像 docker pull redis				# 下载redis镜像(默认最新版本)  # 安装redis容器并运行 docker run \     --name Redis \     --restart=always \     --privileged=true \     -e MY_REDIS_PASSWORD='123456' \     -p 6379:6379 \     -d  7614ae9453d1     docker ps								# 查看正在运行的容器 docker exec -it mysql8 /bin/bash		# 进入redis容器 exit									# 退出redis容器 

主要参数讲解

--name Redis:给容器取名为Redis

--restart=always:每当docker启动时总能启动Redis容器

-e MY_REDIS_PASSWORD:设置Redis的访问密码为123456

-p 6379:6379:映射容器的6379端口到宿主机的6379端口,外部主机可以直接通过宿主机ip:6379访问到容器的Redis服务。

-d 7614ae9453d1:后台模式下运行指定容器【-d 镜像ID】

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!