一级目录
二级目录
三级目录 一、安装
1、移除系统自带Docker2、配置yum源3、安装docker4、启动并开机启动5、配置加速镜像 二、Docker使用命令
1、镜像操作命令2、容器操作命令3、进入容器内部修改文件4、从容器创建一个新的镜像5、共享镜像到其他主机6、容器和主机文件挂载7、获取容器或者镜像的元数据8、查看容器日志9、容器与主机之间的数据拷贝 一级目录 二级目录 三级目录 一、安装 1、移除系统自带Docker
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine
2、配置yum源sudo yum install -y yum-utilssudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装dockersudo yum install -y docker-ce docker-ce-cli containerd.io# docker-ce是Docker服务器# docker-ce-cli是Docker命令工具# containerd.io是Docker环境# 安装其他版本yum install -y docker-ce-20.10.7 docker-ce-cli-20.10.7 containerd.io-1.4.6
4、启动并开机启动systemctl enable docker --now
5、配置加速镜像# 创建路径sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF'{ "registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"], "exec-opts": ["native.cgroupdriver=systemd"], "log-driver": "json-file", "log-opts": { "max-size": "100m" }, "storage-driver": "overlay2"}EOFsudo systemctl daemon-reload# 重启sudo systemctl restart docker
二、Docker使用命令 1、镜像操作命令 (1)、查找:Docker Hub官网
(2)、下载:docker pull [OPTIONS] NAME[:TAG|@DIGEST]
注意:使用命令加上--help可以查看命令详细介绍,例如:docker pull --help
# 例如下载最新版nginxdocker pull nginx# 例如下载指定版本nginxdocker pull nginx:1.20.1
(3)、查看下载的镜像:docker images [OPTIONS] [REPOSITORY[:TAG]]
# 查看所有下载的镜像docker images
(4)、删除镜像:docker rmi [OPTIONS] IMAGE [IMAGE...]
# 删除nginx镜像docker rmi nginx
2、容器操作命令(1)、创建并启动容器:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker run --name=nginx -d --restart=always -p 88:80 nginx# --name:启动容器的名称# -d:后台运行# -p 88:80将容器内部端口80映射到服务器88端口# --restart=always: 开机自启
启动之后访问http://139.198.42.140:88/,如果是云服务器需要在安全组开放88端口
(2)、查看容器:docker ps [OPTIONS]
# 查看正在运行的容器docker ps
(3)、停止容器:docker stop [OPTIONS] ConTAINER [CONTAINER...]
# 先用docker ps查看容器名称或者容器IDdocker stop 容器名称或者容器ID#再次启动docker start 容器名称或者容器ID
(4)、删除容器:docker rm [OPTIONS] ConTAINER [CONTAINER...]
# 删除停止的容器docker rm 容器名称或者容器ID# 强制删除正在运行中的docker rm -f 容器名称或者容器ID
(5)、修改已经创建容器的参数:docker update [OPTIONS] ConTAINER [CONTAINER...],部分参数不可修改:例如-p和-v
#修改--restartdocker update 容器名称或者容器ID --restart=no
3、进入容器内部修改文件docker exec -it 容器名称或者容器ID /bin/bash
以nginx为例,在Docker Hub可看到nginx的页面路径:/usr/share/nginx/html,进入容器内部修改/usr/share/nginx/html/index.html,新刷页面即可看到变化。
docker commit [OPTIONS] ConTAINER [REPOSITORY[:TAG]]
docker commit -a "wg" -m "修改首页" f826b3307fe4 mynginx:1.0
5、共享镜像到其他主机 (1)、打包传输,然后解压,打包镜像:docker save -o mynginx.tar mynginx:1.0,把压缩包包传输到其他主机解压镜像:docker load -i mynginx.tar。
(2)、将本地的镜像上传到镜像仓库(要先登陆到镜像仓库):
a、在Docker Hub官网注册账号,用户名为studydocker88,并创建仓库,仓库名为mynginx;
b、docker login输入用户名和密码登录;
c、docker tag mynginx:1.0 studydocker88/mynginx:1.0 标记本地镜像mynginx:1.0,将其归入myimages仓库;
d、docker push studydocker88/mynginx:1.0,推送镜像到远程仓库;
e、其他主机即可拉取镜像:docker pull studydocker88/mynginx:1.0;
g、然后创建容器并启动:docker run -d -p 99:80 studydocker88/mynginx:1.0,打开99端口。
注意:命令太长可以用“ ”换行
docker run --name=nginx -d --restart=always -p 88:80 -v /data/html:/usr/share/nginx/html nginx
现在访问http://139.198.42.140:88/
原因是挂载的路径下面没有页面,在主机路径/data/html下创建一个index.html,内容如下:
Study Docker
然后再次访问
docker inspect [OPTIONS] NAME|ID [NAME|ID...]
8、查看容器日志docker logs [OPTIONS] CONTAINER
nginx拷贝容器数据到主机
docker cp 5eff66eec7e1:/etc/nginx/nginx.conf /data/conf/nginx.conf# 5eff66eec7e1是容器ID
nginx拷贝主机数据到容器
ocker cp /data/conf/nginx.conf 5eff66eec7e1:/etc/nginx/nginx.conf# 5eff66eec7e1是容器ID