Docker常用的命令

导读:本篇文章讲解 Docker常用的命令,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1.【镜像操作】
	docker --help
	docker images --help

	docker images  查看镜像

	docker pull 拉取镜像
	docker pull nginx
	docker pull nginx:1.21.6
	docker pull redis:7.0.0

	docker rmi     删除镜像
	docker rmi nginx:latest

	docker save  保存镜像到一个压缩包
	docker save -o nginx.tar nginx:latest
	
	docker load  加载压缩包为镜像
	docker load -i nginx.tar

3.【容器操作】
	-- 容器命令
		启动一个容器
		docker run -it ubuntu /bin/bash (i-交互  , t-终端)
		docker run --name nginx1 -p 80:80 -d nginx:1.21.6

		查看容器
		docker ps		
		docker ps -a

		查看容器日志
		docker logs nginx1
		docker logs -f nginx1
		
		进入容器(后台运行的容器)
		docker exec -it nginx1 /bin/bash
		
		#进入容器,改nginx文件内容
		docker exec -it nginx1 bash
		
		-- 改nginx页面内容
			cd /usr/share/nginx/html
			sed -i -e 's#Welcome to nginx#传智教育欢迎您#g' -e 's#<head>#<head><meta charset="utf-8">#g' index.html
			http://192.168.100.101


		docker rm  删除容器
		docker rm 容器id|容器名称
		docker rm -f 容器id  // -f  强制删除运行中的容器
		docker rm nginx1

		docker stop 容器ID|容器名称  停止容器
		docker stop nginx1
		
		docker start   启动一个已停止的容器
		docker start nginx1
		
		-- 创建redis容器
		 docker run --name redis1 -p 6379:6379 -d redis:7.0 redis-server --appendonly yes
		
	-- 数据卷
		/var/lib/docker/volumes/
		
		docker volume 命令
		docker volume --help
		
		docker volume create   创建数据卷
		docker volume create html
		
		docker volume inspect  显示数据卷信息
		docker volume inspect html
		
		docker volume ls       列出数据卷
		
		docker volume prune    删除所有未使用的数据卷
		
		docker volume rm       删除数据卷
		docker volume rm html
		
		docker run xxx -v html:/root/html  挂载数据卷:把html数据卷挂载到容器内的/root/html这个目录中
		
		#案例: 挂载数据卷
		docker run --name nginx1 -v html:/usr/share/nginx/html -p 80:80 -d nginx:1.21.6
		进入html数据卷所在位置,并修改HTML内容			
			# 查看html数据卷的位置
			docker volume inspect html
			# 进入该目录
			cd /var/lib/docker/volumes/html/_data
			# 修改文件
			vi index.html
			  <meta charset="UTF-8">

		#自动创建数据卷
		#案例不提前创建数据卷,直接创建nginx容器(创建时指定 -v参数)
		 docker会自动创建数据卷
		 docker run --name nginx1 -v html:/usr/share/nginx/html -p 80:80 -d nginx:1.21.6

		#将宿主机目录挂载到容器(nginx)
		 mkdir /soft/html
		 chmod a+x /soft/html
		 docker run --name nginx1 -v /soft/html:/usr/share/nginx/html -p 80:80 -d nginx:1.21.6

		#将宿主机目录挂载到容器(mysql)
			mkdir -p /tmp/mysql/data
			mkdir -p /tmp/mysql/conf
			
			上传hmy.cnf到 /tmp/mysql/conf

			docker run \
			--name mysql \
			--restart=always \
			-e MYSQL_ROOT_PASSWORD=root \
			-e TZ=Asia/Shanghai \
			-p 3306:3306 \
			-v /tmp/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
			-v /tmp/mysql/data:/var/lib/mysql \
			-d \
			mysql:5.7.25		
		
4. 【Dockerfile自定义镜像】
	--	镜像构建命令
		docker build -t javaweb:1.0 .  //注意【末尾的点】
		-t :指定要创建的目标镜像名
		. :Dockerfile 文件所在目录,可以指定Dockerfile 的绝对路径

	-- 自定义java应用镜像
		docker build -t javaweb:1.0 .  //注意【末尾的点】
		docker images
		docker run --name javaweb -p 8090:8090 -d javaweb:1.0
		docker ps
		http://192.168.5.200:8090/hello/count

	-- 基于java:8-alpine镜像,将一个Java项目构建为镜像
		FROM java:8-alpine
		COPY ./docker-demo.jar /tmp/app.jar
		EXPOSE 8090
		ENTRYPOINT java -jar /tmp/app.jar
		
		docker build -t javaweb:2.0 .
		docker images
		docker run --name javaweb -p 8090:8090 -d javaweb:2.0
		docker ps
		http://192.168.5.200:8090/hello/count

5. 【Docker-Compose】
	-- 安装、查看版本
		docker-compose -v  //docker-compose version 1.29.1, build c34c88b2

	-- 命令补全
		sudo curl \
		-L https://raw.githubusercontent.com/docker/compose/1.29.1/contrib/completion/bash/docker-compose \
		-o /etc/bash_completion.d/docker-compose

	-- 启动、停止微服务集群
		docker-compose up -d
		docker-compose restart gateway userservice orderservice
		docker-compose down
		
		docker-compose stop orderservice
		docker-compose start orderservice
		
	--	注意事项
		改代码后,要docker-compose down, 并删除镜像
		重新上传jar
		
	-- 访问
		http://192.168.5.200:8848/nacos
		http://192.168.5.200:10086/user/2?authorization=admin

5. 【Docker镜像仓库】
	-- 安装registry仓库
	--	带有图形化界面版本
		(1)使用DockerCompose部署带有图象界面的DockerRegistry,命令如下:
			version: '3.0'
			services:
			  registry:
				image: registry
				volumes:
				  - ./registry-data:/var/lib/registry
			  ui:
				image: joxit/docker-registry-ui:static
				ports:
				  - 8080:80
				environment:
				  - REGISTRY_TITLE=传智教育私有仓库
				  - REGISTRY_URL=http://registry:5000
				depends_on:
				  - registry
		
			docker-compose up

		(2)配置docker信任
			(我们的私服采用的是http协议,默认不被Docker信任)
			# 打开要修改的文件
			vi /etc/docker/daemon.json
			# 添加内容:
			"insecure-registries":["http://192.168.100.101:8080"]
			# 重加载
			systemctl daemon-reload
			# 重启docker
			systemctl restart docker

		(3)访问镜像库
			http://192.168.5.200:8080/

	--	推送、拉取镜像
		docker tag nginx:1.21.6 192.168.5.200:8080/nginx:1.0
		docker push 192.168.5.200:8080/nginx:1.0
		
		docker rmi 192.168.5.200:8080/nginx:1.0
		docker pull 192.168.5.200:8080/nginx:1.0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/65888.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!