入门教程,常用命令及参数

时间:2019-10-04 14:48来源:编程技术
Docker是一个轻量级容器技术,类似于虚拟机技术(xen、kvm、vmware、virtual)。Docker是直接运行在当前操作系统之上,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远

Docker是一个轻量级容器技术,类似于虚拟机技术(xen、kvm、vmware、virtual)。Docker是直接运行在当前操作系统之上,而不是运行在虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机技术。

一、Docker 镜像命令

Docker 的镜像一般都放在 Docker 官网的 Docker Hub 上,地址是:https://hub.docker.com 。

容器基本操作

最简单的运行镜像为容器的命令如下:

docker run --name container-name -d image-name 

但是最好运行的时候就把端接口加上,如:

docker run -d -p [本机端口]:[docker服务器端口] --name container-name image-name

运行一个容器只要通过Docker run命令即可实现。

  • --name参数:是为容器取得名称;
  • -d:表示detached,意味着执行完这句命令后控制台将不会被阻碍,可继续输入命令操作;
  • image-name:是要使用哪个镜像来运行容器。
  • -p:端口映射
  • 本机端口:对外暴露的端口
  • docker服务器端口: 各各应用占用的端口,比如redis占用6379我们来运行一个Redis容器:
docker run --name test-redis -d redis 

Docker会为我们的容器生成唯一的标识。

3. 停止容器

停止容器通过下面的命令:

docker stop container-name / container-id

可以通过容器名称或容器 ID 来停止容器,以停止上面的 Redis 容器为例:

docker stop test-redis

此时运行中的容器列表为空。查看所有容器命令,可以看到此时的 STATUS 为退出。

我们可以通过service命令来启动docker,如:

4. 启动容器

启动容器通过下面命令:

docker start container-name / container-id

再次启动刚才停止的容器:

docker start test-redis

如果要开机启动则需要systemctl命令,如:

5. 端口映射

Docker 容器中运行的软件所使用的端口,在本机和本机的局域网是不能访问的,所以我们需要将 Docker 容器中的端口映射到当前主机的端口上,这样我们在本机和本机所在的局域网就能够访问该软件了。
  Docker 的端口映射是通过一个 -p 参数来实现的。以刚才的 Redis 为例,映射容器的 6379 端口到本机的 6378 端口,命令如下:

docker run -d -p 6378:6379 --name port-redis redis

目前各大主流云计算平台都支持Docker容器技术,包括阿里云、百度云平台(资源隔离通过Docker实现)、Cloud Foundry(和Spring一家公司的,目前最成熟也最稳定)、HeroKu、DigitalOcean、OpenShift、Apache Stratos、Apache MesOS(批处理平台,支持搭建基于Docker的云平台)、Deis;连微软也会在下一个版本的Windows Server及其云平台Azure上支持Docker,这样看来Docker大有统一云计算的趋势。

澳门金莎娱乐网站,2. 容器列表

通过下面命令,查看运行中的容器列表:

docker ps

澳门金莎娱乐网站 1

容器列表

其中,CONTAINER ID 是在启动的时候生成的 ID;IMAGE 是该容器使用的镜像;COMMAND 是容器启动时调用的命令;CREATED 是容器创建时间;STATUS 是当前容器的状态;PORTS 是容器系统使用的版本号;NAMES 是刚才给容器定义的名称。
  通过下列命令可查看运行和停止状态的容器:

docker ps -a

目前主流的软件以及非主流的软件大部分都有人将其封装成Docker镜像,我们只需下载Docker镜像,然后运行镜像就可以快速获得已做好配置可运行的软件。

4. 镜像删除

# 删除指定镜像通过下面命令
docker rmi image-id

# 删除所有镜像通过下面命令
docker rmi $(docker images -q)

Docker镜像检索

除了可以在

docker search 镜像名 

检索Redis,输入:

docker search redis 

3. 镜像列表

查看本地镜像列表,通过下面命令:

docker images

澳门金莎娱乐网站 2

镜像列表

其中,REPOSITORY 代表镜像名,TAG 代表软件版本,IMAGE ID 代表当前镜像的唯一标识;CREATED 代表当前镜像创建时间;SIZE 代表当前镜像大小。

另外要特别指出的是,Docker并不是为开发测试方便而提供的小工具,而是可以用于实际生产环境的一种极好的部署方式。

6. 删除容器

删除单个容器,可通过下面的命令:

docker rm container-id

删除所有容器,可通过下面的命令:

docker rm $(docker ps -a -q)

参考《JavaEE开发的颠覆者: Spring Boot实战》 8.1.1

1. Docker 镜像检索

除了可以在 https://hub.docker.com 网站检索镜像外,还可以用下面命令检索:

docker search 镜像名

# 如检索 Redis,输入:
docker search redis

登录容器

运行中的容器其实是一个功能完备的Linux操作系统,所以我们可以像常规的系统一样登录并访问容器。

我们可以使用下面命令,登录访问当前容器,登录后我们可以在容器中进行常规的Linux系统操作命令,还可以使用exit命令退出登录。

docker exec -it container-id/container-name bash 

docker run --name some-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
  • some-mysql: 容器别名
  • my-secret-pw:初始化设置的root用户的密码
  • tag:mysql的版本,不写默认使用最新版
  • -p 3306:3306:表示在这个容器中使用3306端口映射到本机的端口号也为3306
docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'

docker run -it --rm mysql mysql -hsome.mysql.host -usome-mysql-user -p

docker exec -it some-mysql bash

退出输入:

exit

docker logs some-mysql

7. 容器日志

查看当前容器日志,可通过下面的命令:

docker logs container-name / container-id

查看下上面一个容器的日志,命令如下:

docker logs port-redis

澳门金莎娱乐网站 3

容器日志

  • sudo apt-get update
  • sudo apt-get docker.io

1. 容器基本操作

最简单的运行镜像为容器的命令如下:

docker run --name container-name -d image-name

运行一个容器只要通过 Docker run 命令即可实现,其中,--name 参数是为容器取得名称;-d 表示 detached,意味着执行完这句命令后控制台将不会被阻碍,可继续输入命令操作;最后的 image-name 是要使用哪个镜像来运行容器。
  运行 redis 容器命令如下:

docker run --name test-redis -d redis

Docker 会为容器生成唯一的标识。

  • sudo yum update
  • sudo yum install docker

二、Docker 容器命令

镜像删除

删除指定镜像通过下面命令:

docker rmi image-id

删除所有镜像通过下面命令:

docker rmi $(docker images -q)

8. 登录容器

运行中的容器其实是一个功能完备的 Linux 操作系统,所以我们可以像常规的系统一样登录并访问容器。
  我们可以使用下面命令,登录访问当前容器,登录后我们可以在容器中进行常规的 Linux 系统操作命令,还可以使用 exit 命令退出登录。

docker exec -it container-id / container-name bash

停止和启动容器

1)停止容器

停止容器通过下面的命令:

docker stop container-name/container-id 

我们可以通过容器名称或者容器id来停止容器,以停止上面的Redis容器为例:

docker stop test-redis 

此时运行中的容器列表为空。查看所有容器命令,可看出此时的STATUS为退出。

2)启动容器

启动容器通过下面命令:

docker start container-name/container-id 

再次启动我们刚才停止的容器:

docker start test-redis

2. 镜像下载

下载镜像通过下面命令实现:

docker pull 镜像名

# 如下载 Redis 镜像,输入:
docker pull redis

镜像列表

查看本地镜像列表,如图所示,通过下面命令:

docker images

澳门金莎娱乐网站 4image

其中REPOSITORY是镜像名;TAG是软件版本,latest为最新版;IMAGE ID是当前镜像的唯一标识;CREATED是当前镜像创建时间;VIRTUAL SIZE是当前镜像的大小。

通常情况下,Docker的镜像都放置在Docker官网的Docker Hub上,地址是

[root@localhost ~]# service docker startRedirecting to /bin/systemctl start docker.service

删除容器

删除单个容器,可通过下面的命令:

docker rm container-id 

删除所有容器,可通过下面的命令:

docker rm $(docker ps -a -q) 

镜像下载

下载镜像通过下面命令实现:

docker pull 镜像名 

下载Redis镜像,运行:

docker pull redis 

如果要获取某个指定的版本直接在后面跟上版本号,如:

docker pull redis:3.0.7 

这根据据网络情况可能要这根据据网络情况可能要花费一段时间。

基于Docker镜像是可以自己编译的,我们将在10.3节讲解如何编译自己的Docker镜像,本节我们讲述与Docker镜像操作相关的命令。

Docker支持将软件编译成一个镜像,在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container),容器的启动是非常快的,一般都是以秒为单位。这个有点像我们平时安装ghost操作系统?系统安装好后软件都有了,虽然完全不是一种东西,但是思路是类似的。

端口映射

Docker容器中运行的软件所使用的端口,在本机和本机的局域网是不能访问的,所以我们需要将Docker容器中的端口映射到当前主机的端口上,这样我们在本机和本机所在的局域网就能够访问该软件了。

Docker的端口映射是通过一个-p参数来实现的。我们以刚才的Redis为例,映射容器的6379端口到本机的6378端口,命令如下:

docker run -d -p 6378:6379 --name port-redis redis 

如果要映射多个端口就多设置一个-p参数,如启动rabbitMQ命令:

docker run -d -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq

目前在Windows下运行的Docker其实是运行在VirtualBox虚拟机中的,即我们当前的本机并不是我们当前的开发机器,而是VirtualBox虚拟机,所以我们还需要再做一次端口映射,将VirtualBox虚拟的端口映射到当前的开发机器。这部分内容将在实际部署软件的时候进行演示。

这里的云计算平台一般指的是PaaS,它是一个这样的云计算:平台提供了存储、数据库、网络、负载均衡、自动扩展等功能,你只需将你的程序交给云计算平台就可以了。你的程序可以是用不同的编程语言开发的,而使用的Docker的云计算平台就是用Docker来实现以上功能及不同程序之间的隔离的。

容器日志

查看当前容器日志,可通过下面的命令:

docker logs container-name/container-id 

我们查看下上面一个容器的日志,如图所示,命令如下:

docker logs port-redis

// 翻页查看

docker logs port-redis | less 

模式下:回车键翻页,q键是退出。

澳门金莎娱乐网站 5image

Ubuntu:

因为Docker的运行原理是基于Linux的,所以Docker只能在Linux下运行。不要紧张,这只能说明在真正的生产环节下,基于Docker的部署只能在Linux上,但是我们在开发测试的时候,Docker是可以在Windows以及Mac OS X系统下的,运行的原理是启动一个VirtualBox虚拟机,在此虚拟机里运行Docker。

[root@localhost ~]# systemctl start docker[root@localhost ~]# systemctl enable dockerCreated symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

CentOS安装命令:

容器列表

通过下面命令,查看运行中的容器列表,如图所示。

docker ps

澳门金莎娱乐网站 6image

其中CONTAINER ID是在启动的时候生成的ID;IMAGE是该容器使用的镜像;COMMAND是容器启动时调用的命令;CREATED是容器创建时间;STATUS是当前容器的状态;PORTS是容器系统所使用的端口号,Redis默认使用6379端口;NAMES是刚才给容器定义的名称。

通过下列命令可查看运行和停止状态的容器:

docker ps -a

编辑:编程技术 本文来源:入门教程,常用命令及参数

关键词:

  • 上一篇:没有了
  • 下一篇:没有了