access实例_快速熟悉docker常用命令(实例:创建nginx容器)

docker主要的3个概念:镜像(image)+容器(container)+仓库(repository)

  • docker镜像:概念类似虚拟机的镜像,可以用来创建新的容器。
  • docker仓库:docker仓库概念和git类似。docker仓库是用来包含镜像的位置。
  • docker容器:是由docker镜像创建的运行实例。docker容器类似虚拟机,可以执行包含启动,停止,删除等。每个容器间是相互隔离的。容器中会运行特定的运用,包含特定应用的代码及所需的依赖文件。可以把容器看作一个简易版的linux环境(包含root用户权限,进程空间,用户空间和网络空间等)和运行在其中的应用程序。

它们之间的关系可以参照下图:

2ecaadea0c4cb5816b63af4e421f5d21.png

我们在这个过程中熟悉经常使用的命令。

Docker 镜像和容器

  • 镜像查询:
  1. docker hub镜像查询:https://hub.docker.com/search
5a6bc0c114e5bec16c305a63a4d5d914.png

2、docker search查询

我们也可以使用docker search: 的方式来搜索镜像,但这种方式无法查询镜像tags,所以建议使用第一种。

c1c469be232e0029751b55ec9f7c449f.png

各个选项说明:

  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED: 自动构建。

拉取镜像(nginx 为例)

  • 拉取nginx镜像到本地

docker pull :,如果不加tags,默认拉取最新镜像(latest)。

docker pull nginx:latest

直接执行命令报错:

Got permission denied while trying to connect to the Docker daemon socket ….: connect: permission denied

我们使用su root 命令切换到root用户,再次执行命令即可。

30f93860cc7ba1d96ffc016e5f51ce14.png

使用docker images 命令即可查看已经拥有的镜像。

536f643464b91d654436aa2c3592434d.png

各个选项说明:

  • REPOSITORY:表示镜像的仓库源
  • TAG:镜像的标签
  • IMAGE ID:镜像ID
  • CREATED:镜像创建时间
  • SIZE:镜像大小

删除镜像

docker rmi :,如果不加tags,默认删除最新镜像(latest)。

docker rmi nginx:latest

创建容器

使用镜像创建一个 nginx容器

  • 创建挂载目录
mkdir -p /usr/local/nginx/{conf,html,logs}
  • 创建nginx.conf 配置文件

在/usr/local/nginx/conf下创建nginx.conf文件,作为外置配置文件使用。这样我们就可以很方便的配置nginx。

user  nginx;worker_processes  1;error_log  /var/log/nginx/error.log warn;pid        /var/run/nginx.pid;events {    worker_connections  1024;}http {    include       /etc/nginx/mime.types;    default_type  application/octet-stream;    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';    access_log  /var/log/nginx/access.log  main;    sendfile        on;    #tcp_nopush     on;    keepalive_timeout  65;    #gzip  on;    include /etc/nginx/conf.d/*.conf;}

在/usr/local/nginx/html目录下新建index.html,这个文件作为容器外部数据卷,替换默认首页。关于数据卷的概念,我们后期文章专门介绍。

Docker Nginx

Docker Nginx

Hello, Nginx.

  • 执行容器创建命令
docker run -d -p 80:80 --name nginx80 --restart=always -v /usr/local/nginx/html:/usr/share/nginx/html -v /usr/local/nginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/logs/:/var/log/nginx nginx:latest

如果返回一长串字符即为成功。使用docker ps 即可看到已启动容器列表:

017dd0f6cfe00b572cf74d54db0dd8cd.png

参数说明:

  • -d 后台运行
  • -p 设置端口映射 宿主机端口:容器端口
  • --name 设置容器别名
  • --restart=always 设置容器开机启动
  • -v 数据卷映射 宿主机目录:容器目录。这样方便我们管理容器配置文件及日志文件

最后加上nginx:latest,表示我们是以nginx:latest为模板创建的。

  • 浏览器访问

浏览器访问 http://192.168.85.128/ ,192.168.85.128是我虚拟机的端口。

19f30465db14d8fbd1091c16d628b417.png

这样我们就使用docker创建好了一个 nginx。

学然后知不足,教然后知困。知不足,然后能自反也;知困,然后能自强也。

da92d666f533b83aa2fac5ccaee9a4eb.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值