帮助命令
# 查看版本信息
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
评论区