Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Docker 简单使用笔记 #29

Closed
fantasticit opened this issue Jul 23, 2019 · 0 comments
Closed

Docker 简单使用笔记 #29

fantasticit opened this issue Jul 23, 2019 · 0 comments

Comments

@fantasticit
Copy link
Owner

Docker

安装 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

然后,调用 mynginxbash 程序:

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant