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