相关文章推荐
低调的风衣  ·  [面试题~Docker] ...·  1 周前    · 
长情的风衣  ·  Singularity 使用 - ...·  1 周前    · 
帅气的火腿肠  ·  jenkins node ...·  1 年前    · 
一直单身的丝瓜  ·  c++ - Qt executing ...·  1 年前    · 
深沉的莴苣  ·  powershell - ...·  1 年前    · 

帮助文档地址: https://docs.docker.com/engine/reference/

2、镜像命令

[root@localhost ~]# docker  images
REPOSITORY                                                                TAG              IMAGE ID       CREATED         SIZE
135.32.104.186:8021/boco/oss-security-manager                             1.0.0.62         995e9ae6ddba   3 weeks ago     936MB
oss.harbor:8089/znjk_tiangong/oss-security-manager                        1.0.0.62         995e9ae6ddba   3 weeks ago     936MB
#REPOSITORY 镜像仓库源
#TAG 镜像标签
#IMAGE ID  镜像ID
#CREATED 创建时间
#SIZE 镜像大小
[root@localhost ~]# docker images --help
Usage:  docker images [OPTIONS] [REPOSITORY[:TAG]]
List images
Options:
  -a, --all             Show all images (default hides intermediate images)
  -q, --quiet           Only show image IDs
#docker search 搜索仓库镜像
[root@localhost ~]# docker search mysql
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   11665     [OK]       
mariadb                           MariaDB Server is a high performing open sou…   4444      [OK]       
mysql/mysql-server                Optimized MySQL Server Docker images. Create…   867                  [OK]
--filter-STARS=3000 #搜索STARS大于3000的
[root@localhost ~]# docker pull mysql
Using default tag: latest #没有指定tag 下载最新的
latest: Pulling from library/mysql
b380bbd43752: Pull complete #分层下载 docker images的核心 联合文件系统
f23cbf2ecc5d: Pull complete 
30cfc6c29c0a: Pull complete 
b38609286cbe: Pull complete 
8211d9e66cd6: Pull complete 
2313f9eeca4a: Pull complete 
7eb487d00da0: Pull complete 
4d7421c8152e: Pull complete 
77f3d8811a28: Pull complete 
cce755338cba: Pull complete 
69b753046b9f: Pull complete 
b2e64b0ab53c: Pull complete 
Digest: sha256:6d7d4524463fe6e2b893ffc2b89543c81dec7ef82fb2020a1b27606666464d87 #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest #镜像的真实地址 等价于docker pull mysql
#指定版本
docker pull mysql:5.7

docker rmi 删除镜像

#删除指定的容器
[root@localhost ~]# docker rmi -f ecac195d15af
#删除多个
docker rmi -f ecac195d15af 镜像ID 镜像ID
#删除全部
docker rmi -f $(docker images -qa)

3、容器的命令

有了镜像才可以去创建容器

docker pull centos

新建容器并启动

docker run [可选参数] image
#参数说明
#--name="Name" 	容器名字
#-d 			以后台方式运行 nohup
#-it 			使用交互方式运行,进入容器查看内容
#-p				制定容器端口 - 8080:8080
	#-p 主机端口:容器端口
	#-p 容器端口
	#容器端口
#-P				随机指定窗口
#启动并进入容器
[root@localhost ~]# docker run -it centos /bin/bash
#退出命令
[root@69d7c03452eb /]# exit 

查看容器运行命令

#docker ps 命令
#  空 显示正在运行的容器
#-a   显示所有的容器,包括曾经运行过得容器
#-n=? 显示最近运行的容器
#-q   只显示容器编号
[root@localhost ~]# docker ps -a
CONTAINER ID   IMAGE     COMMAND       CREATED         STATUS                     PORTS     NAMES
69d7c03452eb   centos    "/bin/bash"   2 minutes ago   Exited (0) 7 seconds ago             funny_borg
exit  #直接容器停止并退出
Ctrl +P +Q #容器不停止退出
docker rm 容器ID					#删除指定的容器,不能删除运行中的 如果需要删除 加-f
docker rm -f $(docker ps -qa)	 #删除所有的容器
docker ps -a-q|xargs docker rm 	 #删除所有的容器

启动和停止容器

docker start 容器ID 		#启动
docker stop 容器ID		#停止
docker restart  容器ID	#重启
docker kill 容器ID 		#强制停止当前的容器

4、常见其他命令

#命令 docker run -d 镜像名
docker run -d centos
#问题 docker ps 发现centos停止了
#常见的坑 docker容器使用后台运行,就需要要有一个前台的进程,docker发现没有应用就自动停止
# -tf
#--tail 10 
docker logs -tf --tail 10 容器ID

查看容器中的进程信息

docker top 容器ID

查看镜像的元数据

docker inspect 容器ID

进入当前正在运行的容器

#通常容器都是使用后台按时运行
#进入容器开启一个新的终端
docker exec -it 容器ID /bin/bash
#正在执行 
#进入当前正在运行的终端
docker attach 容器ID

容器内文件拷贝到外面

docker cp 容器ID:容器内路径  目的主机路径

5、实战练习

安装nginx

安装tomcat

安装es+Kibana

本人在做实验过程中,需要通过Java程序部署docker容器。故尝试搜集资料,实现在Java端可以操作部署docker容器。过程中遇到一些bug和坑,在此总结,供有需要的童鞋使用。主体配置以Ubuntu16为例。后面会附加给出mac的配置说明。 docker安装 # 安装docker curl -sSL https://get.daocloud.io/docker | sh # 查看是...
* `docker run` - 运行一个 Docker 容器。 * `docker build` - 使用 Dockerfile 构建一个 Docker 镜像。 * `docker pull` - 从 Docker Hub 或其他镜像仓库中拉取一个 Docker 镜像。 * `docker push` - 将一个 Docker 镜像推送到 Docker Hub 或其他镜像仓库。 * `docker ps` - 列出正在运行的 Docker 容器。 * `docker stop` - 停止一个正在运行的 Docker 容器。 * `docker rm` - 删除一个 Docker 容器。 * `docker images` - 列出所有的 Docker 镜像。 * `docker rmi` - 删除一个 Docker 镜像。 * `docker exec` - 在一个正在运行的 Docker 容器中执行命令。 * `docker logs` - 查看一个 Docker 容器的日志。 * `docker inspect` - 查看一个 Docker 容器的详细信息。 * `docker network` - 管理 Docker 网络。 以上是常用的 Docker 命令,更多命令请查看 Docker 官方文档。