Docker 入门快速上手指南

2020-06-17 07:12:14易采站长站整理

&& mkdir nmp
&& cd nmp
&& yum install -y wget pcre-devel gcc gcc-c++
ncurses-devel perl make zlib zlib-devel
openssl openssl--devel iputils
&& wget http://nginx.org/download/nginx-1.11.11.tar.gz
&& tar zxf nginx-1.11.11.tar.gz
&& cd nginx-1.11.11
&& ./configure --prefix=/usr/local/nginx
&& make && make install && make clean

更多的 Dockerfile 指令可以参考 Dockerfile 指令。

Dockerfile 的使用

使用 Dockerfile 创建镜像

首先,我们需要新建一个名为

Dockerfile 
的文件(没有后缀),并写入一些配置内容。然后在该文件的目录中,通过以下指令创建镜像:


docker build --tag $namespace/$mirror-name:$tag $dockerfile-dir

其中,

$dockerfile-dir 
 Dockerfile 
所在目录,比如执行:


docker build --tag dailybird/nginx-demo:demo ./

等待一段时间之后,便可通过

 docker images 
看到新创建的镜像了。

docker-compose 中使用 Dockerfile

当我们需要启动一个新镜像时,可以先将此镜像创建出来,然后在

docker-compose.yml 
文件中通过
image 
指定新镜像;也可以直接通过以下方式将这两个步骤合并:


version: '2.0'
services:
web1:
# build 后的参数为 Dockerfile 文件所在的目录位置,替换原先的 image
build: ./
ports:
- "80"
networks:
- "mynetwork"

# ...
# 其他配置

此后,可以通过以下指令创建容器:


docker-compose build
docker-compose up

或者,直接执行:


docker-compose up --build

这时,Docker 会自动创建一个镜像,并以此创建容器。

后记

关于 Docker 还有很多内容,比如备份、集群、插件等。不过这些就留到进一步研究之后再撰文吧。

问题备忘

权限问题

有时可能遇到如下 Docker 报错:


WARNING: Error loading config file:/home/user/.docker/config.json – stat /home/user/.docker/config.json: permission denied

此时,可以通过以下方法解决:


sudo chmod -R g+rwx /your/path/to/.docker/