工具算法

mac 下docker使用

2018-09-29  本文已影响89人  低调_0c1d

1.参考链接

2.Docker 架构

3.安装

3.1Mac OS

3.1.1下载docker地址

https://dn-dao-github-mirror.qbox.me/docker/install/mac/Docker.dmg

3.2 linux

4.使用docker创建容器

4.1 创建nginx容器

4.1.1安装nginx镜像,并且启动

docker安装nginx有两种方式:docker pull nginx(推荐) 和通过DockerFile(不推荐)

# 查找nginx镜像
docker search nginx
# 拉取nginx官方的镜像
docker pull nginx
# 启动docker中的nginx
docker run --name webserver -d -p 80:80 nginx

启动docker中的nginx的参数说明:

4.1.2测试验证

http://localhost

4.1.3.与容器通过bash交互

docker exec -it webserver bash

修改nginx配置文件

echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html

刷新链接,并且测试验证
http://localhost

远程登录docker中的mysql

查看在运行的容器

命令

docker ps 

返回效果

image.png

进入mysql服务中进行设置

命令

docker exec -it bcf6309de533 bash

返回效果

image.png

命令解析

参考地址:http://www.runoob.com/docker/docker-exec-command.html
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:

5.常用命令行

5.1列出容器

docker ps:列出容器

5.1.1OPTIONS说明:

5.1.2常用示例:

# 列出所有正在运行的容器信息
docker ps
# 列出最近创建的5个容器
docker ps -n 5
# 列出所有容器的容器编号
docker ps -a -q

5.2删除容器

docker rm :删除一个或多少容器

5.2.1OPTIONS说明:

5.2.2常用示例

# 强行删除容器 db01和db02
docker rm -f db01 db02
# 
docker rm -l db 
#
docker rm -v nginx01

5.3运行容器

docker run:运行容器

5.3.1OPTIONS说明:

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-p: 端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h "mars": 指定容器的hostname;
-e username="ritchie": 设置环境变量;
--env-file=[]: 从指定文件读入环境变量;
--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
--link=[]: 添加链接到另一个容器;
--expose=[]: 开放一个端口或一组端口;

5.3.2常用示例

# 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
# 使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest
# 使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
# 绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

5.4 启动/停止/重新启动容器

docker start:启动一个或多个已经被停止的容器
docker stop:停止一个正在运行中的容器
docker restart:重启容器

5.4.1常用实例

# 启动
docker start 容器id
# 停止
docker strop 容器id
# 重启
docker restart 容器id

PS:

docker run 与docker start的区别:
docker run 只在第一次运行时使用,将镜像放到容器中,以后再次启动这个容器时,只需要使用命令docker start 即可。
docker run相当于执行了两步操作:将镜像放入容器中(docker create),然后将容器启动,使之变成运行时容器(docker start)。

docker kill 和 dockerstop 有什么区别:
有区别的,kill是不管容器同不同意,我直接执行kill -9,强行终止;stop的话,首先给容器发送一个TERM信号,让容器做一些退出前必须的保护性、安全性操作,然后让容器自动停止运行,如果在一段时间内,容器还是没有停止,再进行kill -9,强行终止。

上一篇下一篇

猜你喜欢

热点阅读