Docker 文档整理
Docker 文档
Docker 安装
Centos 安装
离线安装
# 先下载安装包
wget https://download.docker.com/linux/static/stable/x86_64/
# 上传文件并解压
tar -xvf docker-18.06.1-ce.tgz
# 复制
cp docker/* /usr/bin/
# 启动docker
dockerd &
# 增加docker.service文件,将docker注册为services服务
vi /etc/systemd/system/docker.service
# 文件内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd --selinux-enabled=false --insecure-registry=127.0.0.1
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
# 给docker.service添加执行权限
chmod +x /etc/systemd/system/docker.service
# 重载配置文件
systemctl daemon-reload
# 设计开机自启
systemctl enable docker.service
在线安装
# 更新yum
sudo yum update
# 安装工具包
yum -y install yum-utils
# 设置yum阿里云镜像源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 安装docker 社区版
sudo yum install docker-ce
# 查看docker版本
docker -v
# 设置docker镜像加速
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
# 其他镜像源地址
## Docker中国区官方镜像
https://registry.docker-cn.com
## 网易
http://hub-mirror.c.163.co
## ustc
https://docker.mirrors.ustc.edu.cn
## 中国科技大学
https://docker.mirrors.ustc.edu.cn
## 或者在aliyun容器生成加速地址
https://cr.console.aliyun.com/
Docker 启动
sudo systemctl start docker
Docker 停止
sudo systemctl stop docker
Docker 重启
sudo systemctl restart docker
Docker 服务状态查看
systemctl status docker
Docker 版本查看
docker version
docker -v
Docker详细信息
docker info
Docker 镜像
搜索镜像
docker search <镜像名称:比如nginx>
拉取镜像
docker pull <镜像名称:比如nginx>
查看镜像列表
docker images
删除镜像
docker rmi <镜像id/镜像名称>
设置镜像标签
docker tag <镜像id> <镜像名称/新的标签名>
保存Docker 镜像到本地
方法一:docker save <镜像名称> -o <导出地址>
方法二:docker save 镜像名称>/root/镜像名称.tar
# docker save nginx -o /home/jruing/docker/nginx.tar
加载Docker镜像
方法一:docker load -i <本地镜像包地址>
方法二:docker load<ubuntu.tar
# docker load -i /home/jruing/docker/nginx.tar
Docker 容器
启动新的容器
docker run <option> <容器id/容器名称> <command>
option 参数
-i --interactive=false:允许你对容器内的标准输入 (STDIN) 进行交互, 通常与-t同时使用
-t --tty=false:在新容器内指定一个伪终端或终端,通常与-i同时使用
-d --detach=false:指定容器运行于前台还是后台,并且返回该容器id
-p --publish=[]:指定端口映射(宿主机端口:容器端口)
-P --publish-all=false:随机端口映射
-v:绑定一个卷
-u --user="":指定容器的用户
--name="":为该容器指定一个名称,后续可以通过名称对容器进行管理
--privileged=false:指定容器是否为特权容器,特权容器拥有所有的 capabilities
--restart="no":指定容器停止后的重启策略:
no:容器退出时不重启
on-failure:容器故障退出(返回值非零)时重启
always:容器退出时总是重启
--rm=false:容器停止后自动删除该容器(不支持以docker run -d启动的容器)
--link=[]:指定容器间的关联,使用其他容器的IP、env等信息
--dns=[]:指定容器的dns服务器
-w, --workdir="":指定容器的工作目录
停止容器
docker stop <容器id/容器名称>
重启容器
docker restart <容器id/容器名称>
启动已停止容器
docker start <容器id/容器名称>
查看所有容器
docker ps -a
查看正在运行的容器
docker ps
列出所有容器id
docker ps -aq
删除所有容器
docker rm $(docker ps -aq)
进入容器
docker exec -it <容器id/容器名称> /bin/bash
主机和容器之间复制文件
# 将宿主机文件拷贝到容器内部
docker cp 宿主机文件路径 容器id/容器名称:容器目录
# 将容器内部文件拷贝到宿主机
docker cp 容器id/容器名称:容器目录 宿主机文件路径
将容器中的服务挂起到后台(针对于手动启动容器中的服务)
先ctrl+p 在ctrl+q
容器启动时自启服务
# 例子
docker run -itd python3 /bin/bash /tmp/aaa.sh(脚本路径)
DockerFile构建
FROM
初始化新的构建,为后面的指令设置基本镜像
WORKDIR
设置 RUN CMD COPY ADD ENTRPOINT指令的工作目录,若指定的目录不存在则会自动创建
RUN
运行命令
待更新。。。。
本文来自博客园,作者:Jruing,转载请注明原文链接:https://www.cnblogs.com/jruing/p/13739477.html