1.删除docker镜像文件

先查看镜像是否运行,如果运行的话需要做以下操作然后再删除

#查看docker容器正在运行的项目
docker ps -a

Docker公司项目 docker工作流程_Docker公司项目

#通过容器id暂停并删除容器id
docker stop 容器id
#删除容器
docker rm 容器id

最后就可以删除镜像文件

-f 强制删除
docker rmi 镜像id -f

2.执行Dockerfile生成镜像

#docker build -f Dockerfile -t react-go-www123:latest .

-f flag 是我们的dockerfile
-t tag 是镜像标签
最后的(.) 命令式当前文件夹下的Dockerfile

3.创建容器

# -d设置后台运行 8181为访问端口ip 8080项目中设置的端口ip
docker run -it -d --name test01 -p 8181:8877 -v /xxx:/xxx:rslave  test-go-1:latest
参数说明
-p				  # 主机端口:容器端口
-it				  # 后台交互式运行
-d                # 后台方式运行
--name            # 取容器别名,例如test01
--restart=always  # 开机自启
-v /xxx:/xxx:rslave		# 文件夹映射:容器文件夹:模式的命令
test-go-1:latest  # 构建的镜像的名字

4.查看Docker容器运行日志命令

docker logs -f 容器id
#实时查看容器日志最新10行
docker logs -f --tail 10 容器id

5.docker常用操作

5.1 docker images

查看所有本地的主机上的镜像

Docker公司项目 docker工作流程_运维_02


解释

REPOSITORY 镜像的仓库源

TAG 镜像的标签

IMAGE ID 镜像的id

CREATED 镜像的创建时间

SIZE 镜像的大小

命令的可选项
-a , --all #列出所有镜像
-q , --quiet #只显示镜像的id

5.2 docker search

搜索镜像

Docker公司项目 docker工作流程_docker_03

解释
NAME #名称
DESCRIPTION #描述
STARS #收藏的数量
OFFICIAL #
AUTOMATED #

可选项,通过搜索来过滤
–filter=STARS = 3000 # 搜索出来的镜像就是START大于3000

5.3 docker pull

下载镜像

docker pull mysql
Using default tag: latest			#不写tag,默认选择最新latest
latest: Pulling from library/mysql
72a69066d2fe: Pull complete 		#分层下载,docker image的核心 联合文件系统
93619dbc5b36: Pull complete 
99da31dd6142: Pull complete 
626033c43d70: Pull complete 
37d5d7efb64e: Pull complete 
ac563158d721: Pull complete 
d2ba16033dad: Pull complete 
688ba7d5c01a: Pull complete 
00e060b6d11d: Pull complete 
1c04857f594f: Pull complete 
4d7cfa90e6ea: Pull complete 
e0431212d27d: Pull complete 
Digest: sha256:e9027fe4d91c0153429607251656806cc784e914937271037f7738bd5b8e7709					#签名
Status: Downloaded newer image for mysql:latest	

#指定版本下载
docker pull mysql:5.7

查看mysql支持的版本

https://hub.docker.com/_/mysql

Docker公司项目 docker工作流程_mysql_04

5.4 docker run [可选参数] image

新建容器并启动

# 参数说明
--name="Name"		# 容器名称 aaa01 aaa02 用来区分容器
-d					# 后台方式运行
-it					# 使用交互方式运行,进入容器查看内容
-p					# 指定容器的端口 -p 8080:8181
	-p	ip:主机端口:容器端口
	-p	主机端口:容器端口	(常用的,并推荐使用)
	-p	容器端口
	容器端口
-P					# 随机指定端口

# 测试,启动并进入容器
# -it
[root@VM-16-9-centos ~]# docker run -it centos /bin/bash
Unable to find image 'centos:latest' locally
latest: Pulling from library/centos
a1d0c7532777: Pull complete 
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
[root@8a61dd5728da /]# 

# 从容器中退回主机
[root@8a61dd5728da /]# exit
[root@root /]#
5.5 具名和匿名挂载

所有的docker容器内的卷,没有指定目录,默认在
/var/lib/docker/volumes/xxxx/_data
我们通过具名挂载可以方便的找到我们的一个卷,大多数情况用具名挂载

-v 数据卷的英文缩写
# 如何确定是具名挂载还是匿名挂载,还是指定路径挂载
-v 	容器内路径		#匿名挂载
-v	卷名:容器内路径	#具名挂载
-v  /宿主机路径::容器内路径	#指定路径挂载

指定数据卷映射相关参数:
ro -- readonly 只读
rw -- readwrite 可读可写(默认)
docker run -d -p 主机端口:容器端口 -v www123:/www123:ro 镜像名:版本
docker run -d -p 主机端口:容器端口 -v www123:/www123:rw 镜像名:版本

查看指定的数据卷信息的命令:docker inspect 容器id或者数据卷名

docker xxx --help

查看docker命令的可选项

Docker公司项目 docker工作流程_Docker公司项目_05

# 进入当前正在运行的容器
# 方式一
docker exec -it 容器id /bin/bash
# 方式二
docker attach 容器id
# 查看镜像的元数据
docker inspect 容器id
# 查看所有容器
docker ps -a
# 停止容器运行
docker stop 容器id
# 开启容器运行
docker start 容器id
# 重启容器
docker restart 容器id
# 删除容器
docker rm 容器id
# 列出所有容器信息
docker ps -a
# 修改容器名称
dokcer rename aaa(旧容器名称) bbb(新容器名称)
# 查看容器进程信息
docker stats aaa(容器名称)
# 查看容器执行日志
docker logs aaa(容器名称)
# 查看容器中运行的进程信息
docker top aaa(容器名称)
# 杀掉一个运行中的容器
docker kill aaa(容器名称)
# -f 强制删除docker镜像
# rmi 中i就是image 镜像的意思
docker rmi 镜像id -f
# 删除docker所有包含none名称的容器名
docker rmi $(docker images | grep "none" | awk '{print $3}') -f
# 停用docker中的所有容器
docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')
#start启动所有停止的容器
docker start $(docker ps -a -q) 
#stop停止所有容器
docker stop $(docker ps -a -q) 
#remove删除所有容器
docker rm $(docker ps -a -q) 
#删除所有镜像
docker rmi $(docker images -q)
#删除所有的 docker ps -a 记录
docker rm `docker ps -a -q`

docker的线上镜像
https://hub.docker.com/

参考文档::
https://docs.docker.com/reference/