侧边栏壁纸
博主头像
Ysfun博主等级

一名热爱技术、喜欢折腾的小小程序猿

  • 累计撰写 42 篇文章
  • 累计创建 14 个标签
  • 累计收到 21 条评论

目 录CONTENT

文章目录

Docker常用命令

Ysfun
2022-06-17 / 0 评论 / 0 点赞 / 50 阅读 / 796 字

帮助命令

# 查看版本信息
docker version
# 信息
docker info
# 查看命令帮助信息
docker 命令 --help

Docker命令的帮助文档 Command-line-reference

镜像命令

% docker images
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
docker/getting-started   latest    b1bcd61774d8   10 days ago   27.2MB
hello-world              latest    18e5af790473   8 weeks ago   9.14kB

# 解释
REPOSITORY	镜像仓库源
TAG					镜像的标签

# 可选项
  -a, --all             Show all images (default hides intermediate images)
  -q, --quiet           Only show image IDs

docker search:镜像搜索命令

% docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11712     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4464      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   870                  [OK]

# 可选项
  -f, --filter filter   Filter output based on conditions provided
      --format string   Pretty-print search using a Go template
      --limit int       Max number of search results (default 25)
      --no-trunc        Don't truncate output
例如:docker search mysql --filter=stars=3000  -->  表示stars>=3000的结果
% docker search mysql --filter=stars=3000
NAME      DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql     MySQL is a widely used, open-source relation…   11712     [OK]       
mariadb   MariaDB Server is a high performing open sou…   4464      [OK]   

docker pull:下载镜像

# 下载镜像 docker pull 镜像名 [:tag]
% docker pull mysql/mysql-server:5.7

5.7: Pulling from mysql/mysql-server
b8aa102ba20a: Pull complete 
2ff679d72626: Pull complete 
ea45979059fe: Pull complete 
526a484cb892: Pull complete 
4436dc023066: Pull complete 
98b382a658b6: Pull complete 
17d3acf6ac1e: Pull complete 
c5ce8d5cf40e: Pull complete 
Digest: sha256:32aac4632baa157d24e9eb3e20d2d62e775f0a2630afb8dabf5ee8c086b09c2a
Status: Downloaded newer image for mysql/mysql-server:5.7
docker.io/mysql/mysql-server:5.7

docker rmi:删除镜像命令

docker rmi -f 镜像id 镜像id  # 删除多个镜像
docker rmi -f $(docker images -qa)  # 删除全部镜像
% docker rmi -f 18e5af790473

Untagged: hello-world:latest
Untagged: hello-world@sha256:cc15c5b292d8525effc0f89cb299f1804f3a725c8d05e158653a563f15e4f685
Deleted: sha256:18e5af7904737ba5ef7fbbd7d59de5ebe6c4437907bd7fc436bf9b3ef3149ea9

# 可选项
  -f, --force      Force removal of the image
      --no-prune   Do not delete untagged parents

容器命令

docker run:新建容器并启动

docker run [可选参数] image

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

# 启动并进入容器
hyunmin@HyunmindeMacBook-Air ~ % docker run -it centos /bin/bash
[root@44e406af8256 /]# exit			# 退出容器

docker ps:查看运行中的容器

% docker ps
CONTAINER ID   IMAGE           COMMAND       CREATED        STATUS        PORTS     NAMES
77128abd1e9c   centos:latest   "/bin/bash"   15 hours ago   Up 15 hours             objective_hellman

退出容器

# 退出并关闭容器
exit
# 退出容器,不关闭,后台运行
Ctrl+P+Q

docker rm:删除容器

docker rm 容器id				# 删除指定容器,不能删除正在运行的容器,-f强制删除

启动和停止容器操作

docker start 容器id 				# 启动容器
docker restart 容器id				# 重启容器
docker stop 	容器id				# 停止当前正在运行的容器
docker kill 容器id					# 强制停止当前容器

DockerFile

DockerFile常用命令

DockerFile构建流程

Docker file创建一个自己的centos

# 1. 编写一个自己的docker file
FROM centos
MAINTAINER hyunmin<s_hyunmin@163.com>

ENV MY_PATH /usr/local
WORKDIR $MY_PATH

RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MY_PATH
CMD echo "----end----"
CMD /bin/bash

# 2. build镜像文件
# build命令
docker build -f dockerfile文件路径 -t 镜像名:[tag] 文件目录(.)

# 3. 镜像本地变更历史
docker history docker镜像id
0

评论区