
Docker 使用笔记(一)
发布于 • 阅读量 285
安装 Docker
在 Docker 网站下载安装 Docker 。 安装完成后,打开命令行输入 docker version
,如果有相关输出即安装成功。
运行 container
docker 中与 container
相关的命令主要有:
docker container run ...
:运行容器docker container ls
: 列出当前运行容器docker container start [container_id | container_name]
: 开始运行指定 id(或名称) 的容器docker container stop [container_id | container_name]
: 停止运行指定 id(或名称) 的容器docker container rm [container_id| container_name]
: 删除指定 id(或名称) 的容器
其中,也可以使用 docker ps
查看正在运行的容器。
运行 nginx
打开命令行,键入:
docker container run -it -p 8080:81 nginx
如果报错无法拉取,执行 docker login
输入账号密码登录 docker hub 账号后再执行。 在浏览器访问网站:http://localhost:8080
,如果可以访问到 nginx 相关即表示运行成功。
-p 8080:81
指定镜像在容器内运行的端口为:81
,同时将端口映射到本地机器的 8080
端口,所以需要在浏览器访问 http://localhost:8080
才可。
运行 mysql
不同与 nginx ,运行 mysql 时可能需要设置一些变量,比如数据库密码之类的,这就需要用到 --env
参数。
docker container run -d -p 3006:3036 --env MYSQL_ROOT_PASSWORD=123456 mysql
进入 container
使用 docker container -it exec [container_id | container_name]
可以运行指定的容器内的程序
首先,运行一个名为 mynginx
的容器:
docker container run -d -p 8080:80 --name mynginx nginx
然后,调用 mynginx
的 bash
程序:
docker container exec -it mynginx bash
如此,便可以在 container 内部操作环境执行命令,就像是进入了这个 container 操作环境内一样。
绑定挂载点
在上一步中,可以知道 container mynginx 的文件路径为:/usr/share/nginx/html
。如果想要修改这些文件,就需要进入 container 内部进行修改,这样便会很麻烦。docker 提供了绑定挂载点的功能,这样便可以把本地机器的文件映射到 container 内部。
docker container run -d -p 8080:81 -v ~/test:/usr/share/nginx/html --nmae mynginx nginx
在本地机器的 test 文件夹,新建一个 index.html 文件,然后浏览器访问 http://localhost:8080
,便可以看到刚刚保存的内容。
制作镜像
docker container run
的过程是首先拉取镜像,然后运行这个镜像。如此便可以制作自己的镜像。例如:
首先新建一个文件夹,然后新建一个 index.html
文件并写入内容,然后再编写 Dockerfile
文件。
FROM nginx:latest
WORKDIR /usr/share/nginx/html
COPY . .
然后运行 docker image build . -t mynginx-web
(.
是指当前路径),便完成了镜像制作。
运行这个镜像只需要:docker container run -it -p 8080:80 mynginx-web
。