Docker 命令记录
2020-03-04 10:42:41 1 举报
AI智能生成
Docker学习笔记
作者其他创作
大纲/内容
容器基本操作
启动容器
<b>docker run IMAGE [COMMAND] [ARG...]</b><div><b><font color="#31a8e0">IMAGE </font></b>: <b><font color="#c41230">启动容器的系统镜像</font></b></div><div><b><font color="#31a8e0">COMMAND </font></b>: <b><font color="#c41230">容器内执行的命令</font></b></div><div><b><font color="#31a8e0">ARG </font></b>: <b><font color="#c41230">容器内执行的参数</font></b></div>
启动交互式容器
<b>docker run -i -t IMAGE /bin/bash</b><div>-i : --interactive=true | fasle 默认是false</div><div><b><font color="#c41230"># 为容器始终打开标准输入</font></b></div><div>-t : --tty=true | false 默认是false </div><div><b><font color="#c41230"># 为容器打开一个伪tty终端,提供交互式shell</font></b></div>
查看容器
<b>docker ps [-a] [-l]</b><div><b><font color="#31a8e0">-a</font></b> : <b><font color="#c41230">显示所有创建的容器</font></b></div><div><b><font color="#31a8e0">-l</font></b> : <font color="#c41230"><b>显示最近创建的一个容器</b></font></div>
<b>docker inspect [id][name]</b><div><b><font color="#31a8e0">id </font>: <font color="#c41230">容器的id</font></b></div><div><b><font color="#31a8e0">name </font>: <font color="#c41230">容器的name(可自定义)</font><br></b><div><b><font color="#c41230"># 详细查看一个容器的配置信息</font></b></div></div>
自定义容器名
<b>docker run --name=自定义名 -i -t IMAGE /bin/bash</b><div><b><font color="#31a8e0">--name</font></b> : <font color="#c41230"><b>自定义容器的名字</b></font></div>
重启已停止的容器
<b>docker start [-i] 容器名</b>
删除已停止的容器
<b>docker rm 容器名</b><div><b><font color="#c41230">注:无法删除正在运行的容器</font></b></div>
守护式容器
<div><b>以守护形式运行容器</b></div><b><font color="#5c5c5c">docker run -i -t IMAGE /bin/bash</font></b><div><b><font color="#c41230">ctrl+p ctrl+q</font></b></div><div><b><font color="#5c5c5c">通过组合键的方式退出容器,不会停止容器</font></b></div>
附加到运行中的如容器:<div><b>docker attach [id] [name]</b></div><div><b><font color="#31a8e0">id</font> : <font color="#c41230">容器ID</font></b></div><div><b><font color="#31a8e0">name</font> : <font color="#c41230">容器name</font></b></div>
启动守护式容器:<div><b>docker run <font color="#c41230">-d</font> IMAGE [COMMAND][ARG...]</b></div><div><b><font color="#31a8e0">-d</font> : <font color="#c41230">启动容器时,使用后台的方式启动</font></b></div>
<div>查看容器日志<b><br></b></div><b><font color="#c41230">docker logs [-f] [-t] [--tail] name</font></b><div><b><font color="#31a8e0">-f : --follows=true | false 默认为false</font></b></div><div><font color="#c41230"><b># 一直跟踪日志返回的结果</b></font></div><div><b><font color="#31a8e0">-t : --timestamps=true | false 默认为false</font></b></div><div><b><font color="#c41230"># 在返回的结果上添加时间戳</font></b></div><div><b><font color="#31a8e0">--tail = "all"</font></b></div><div><b><font color="#c41230"># 返回结尾处指定数量的日志,默认返回全部日志</font></b></div>
查看容器内进程<div><b><font color="#c41230">docker top name</font></b></div>
在运行中的容器内启动新进程:<div><b>docker <font color="#c41230">exec</font> [-d] [-i] [-t] name [COMMAND] [ARG..]</b></div><div><b><font color="#31a8e0">exec</font> : </b><font color="#c41230"><b>在运行中的容器内启动新进程</b></font><br></div>
停止守护式容器:<div><ul><li><b><font color="#c41230">docker stop name</font></b></li></ul><b style="caret-color: rgb(196, 18, 48);"><font color="#31a8e0"># 给容器发送信号,等待容器停止</font></b><br><ul><li><b><font color="#c41230">docker kill name</font></b><br></li></ul><b style="caret-color: rgb(196, 18, 48);"><font color="#31a8e0"># 直接杀死容器</font></b><br></div>
安装Docker
安装前
<h4><span style="font-weight: normal;">检查内核版本</span>: <font color="#c41230">uname -a</font></h4>
检查存储驱动: <b><font color="#c41230">ls -l /sys/class/misc/device-mapper</font></b>
Ubuntu更新软件源
1. 备份原来的更新源<br><b><font color="#c41230">cp /etc/apt/sources.list /etc/apt/sources.list.backup</font></b><br>如果提示权限不够就输入下面两行,先进入到超级用户,再备份<br><b><font color="#c41230">sudo -s<br>cp /etc/apt/sources.list /etc/apt/sources.list.backup</font></b><br>
2. 修改更新源 <div><font color="#c41230"><b>sudo vim /etc/apt/sources.list</b></font><br></div>
3 让更新源生效<div><font color="#c41230"><b>sudo apt-get update</b></font><br></div>
开始安装
1 由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:<div><b><font color="#c41230">sudo apt-get remove docker docker-engine docker-ce docker.io</font></b><br></div>
2 更新apt包索引:<div><font color="#c41230"><b>sudo apt-get updat</b></font><b><font color="#c41230">e</font></b><br></div>
3 安装以下包以使apt可以通过HTTPS使用存储库(repository):<div><b><font color="#c41230">sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common</font></b><br></div>
4 添加Docker官方的GPG密钥:<div><b><font color="#c41230">curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -</font></b><br></div>
5 使用下面的命令来设置stable存储库:<div><b><font color="#c41230">sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"</font></b><br></div>
6 重复步骤2
7 安装最新版本的Docker CE:<div><b><font color="#c41230">sudo apt-get install -y docker-ce</font></b><br></div>
验证docker
1 查看docker服务是否启动:<div><font color="#c41230"><b>systemctl status docker</b></font><br></div>
2 若未启动,则启动docker服务:<div><b><font color="#c41230">sudo systemctl start docker</font></b><br></div>
3 经典的hello world:<div><b><font color="#c41230">sudo docker run ubuntu echo "Hello World"</font></b><br></div>
执行优化
1 添加Docker用户组(安装docker会有此分组,可以忽略):<div><font color="#c41230"><b>sudo groupadd docker</b></font></div>
2 添加当前用户到docker分组:<div><b><font color="#c41230">sudo gpasswd -a ${USER} docker</font></b><br></div>
3 重启docker服务:<div><font color="#c41230"><b>sudo service docker restart</b></font></div>
<b><font color="#c41230">4 注销账户或者重启服务器生效</font></b>
5 最终效果:<div><b><font color="#c41230">docker run ubuntu echo "Hello World"</font></b> 可直接执行<br></div>
部署静态网站
1 设置容器的端口映射<div>run [-P][-p]</div><div><br></div>
<b><font color="#31a8e0">-P(大写) </font>: <font color="#c41230">--publish-all=true | false 默认为false</font><br><font color="#31a8e0"># 映射容器的所有开放端口</font><br></b><b>eg:<font color="#c41230">docker run -P -i -t ubuntu /bin/bash</font></b><b><br></b>
<b>-p(小写) : --publish=[]</b><div><b>containerPort:</b></div><div><b> <font color="#c41230">docker run -p 80 -i -t ubuntu /bin/bash</font></b></div><div><b><font color="#c41230"> </font><font color="#31a8e0"># 指定容器端口80映射到主机随机端口</font></b></div><div><b>hostPort:containerPort:</b></div><div><b> <font color="#c41230">docker run -p 8080:80 -i -t ubuntu /bin/bash</font></b></div><div><b><font color="#c41230"> </font><font color="#31a8e0"># 指定容器端口80映射到主机指定8080端口</font></b></div><div><b>ip::containerPort:</b></div><div><b> <font color="#c41230">docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash</font></b></div><div><b><font color="#c41230"> </font><font color="#31a8e0"># 指定容器端口80映射到指定IP(</font><font color="#f1753f">主机端口应该是80,待查</font><font color="#31a8e0">)</font></b></div><div><b>ip:hostPort:containerPort:</b></div><div><b> <font color="#c41230">docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash</font></b></div><div><b><font color="#c41230"> </font><font color="#31a8e0"> # 指定容器端口80映射到指定IP和指定端口</font></b></div>
2 安装Nginx
1 更新软件源(可以忽略,安装报错可以执行此步骤):<br><b><font color="#c41230">apt-get update</font></b>
2 安装Nginx(速度慢可以替换软件源例如阿里云)<br><b><font color="#c41230">apt-get install -y nginx</font><br><font color="#31a8e0">-y </font><font color="#c41230">: 跳过系统提示,直接安装</font></b>
3 安装文本编辑器 vim<br><b><font color="#c41230">apt-get install vim</font></b>
4 创建静态页面
1 创建网站目录<br><b><font color="#c41230">mkdir -p /var/www/html</font><br><font color="#c41230">cd /var/www/html</font><br><font color="#31a8e0">-p </font><font color="#c41230">: 一次性创建多级目录</font></b>
2 编辑网页文件<br><font color="#c41230" style=""><b>vim index.html</b></font>
5 修改Nginx配置文件
查找配置文件位置:<br><b><font color="#c41230">whereis nginx</font></b><br>打开配置文件<br><font color="#c41230"><b>vim /etc/nginx/sites-enabled/default</b></font>
修改文件:<br>server {<br> root <b><font color="#c41230">/var/www/html;</font></b><br>}
6 运行Nginx<br>
1 执行命令:<br><b><font color="#c41230">nginx</font></b><br>2 检测进程:<br><b style="color: rgb(196, 18, 48);">ps -ef</b><br><b style=""><font color="#8a8b8f">3 后台挂起Docker</font></b><br><b style="color: rgb(196, 18, 48);">Ctrl+P Ctrl+Q</b>
7 验证网站访问
1 查看映射端口<br><font color="#c41230" style=""><b>docker ps</b></font><br>2 访问网站<br><font color="#c41230"><b>curl http://127.0.0.1:xxxx</b></font>
镜像管理
查看和删除镜像
查看docker存储驱动与位置:<div><b><font color="#c41230">docker info</font></b></div>
列出镜像<div><b><font color="#c41230">docker images [OPTSIONS] [REPOSITORY]</font></b></div><div><b><font color="#31a8e0">-a, --all = false </font><font color="#c41230">显示所有镜像</font></b></div><div><b><font color="#31a8e0">-f, --filter=[]</font></b> <font color="#c41230"><b>过滤器</b></font><br></div><div><b><font color="#31a8e0">--no-trunc=false</font></b> <b><font color="#c41230">隐藏镜像部分名称</font></b></div><div><b><font color="#31a8e0">-q, --quiet=false</font></b> <b><font color="#c41230">只显示镜像ID</font></b></div>
列出镜像<div><b><font color="#c41230">docker images [OPTSIONS] [REPOSITORY]</font></b></div><div><b><font color="#31a8e0">-a, --all = false </font><font color="#c41230">显示所有镜像</font></b></div><div><b><font color="#31a8e0">-f, --filter=[]</font></b> <font color="#c41230"><b>过滤器</b></font><br></div><div><b><font color="#31a8e0">--no-trunc=false</font></b> <b><font color="#c41230">隐藏镜像部分名称</font></b></div><div><b><font color="#31a8e0">-q, --quiet=false</font></b> <b><font color="#c41230">只显示镜像ID</font></b></div>
镜像标签和仓库
查看镜像<div><b><font color="#c41230">docker inspect [OPTIONS] CONTAINER | IMAGE [CONTAINER | IMAGE...]</font></b></div>
删除镜像<div><b><font color="#c41230">docker rmi [OPTIONS] IMAGE [IMAGE...]</font></b></div><div><b><font color="#31a8e0">-f, force=false </font><font color="#c41230">强制删除</font></b></div><div><b><font color="#31a8e0">--no-prune=false </font><font color="#c41230">保留未打标签的父镜像</font></b></div>
0 条评论
下一页