配置加速器

登录地址:https://cr.console.aliyun.com/
选择镜像工具—镜像加速器,里面说了怎么通过/etc/docker/daemon.json配置加速器
vim /etc/docker/daemon.json添加:

  1. {
  2. "registry-mirrors": ["https://registry.docker-cn.com"]
  3. }

使配置生效:

sudo systemctl daemon-reload && sudo systemctl restart docker

执行docker info可以看到 Registry Mirrors记录的地址已经生效

下载镜像

查看版本
https://hub.docker.com/_/mysql?tab=tags
搜索镜像:

docker search name

以centos为例,获取docker镜像有三种方式:

方法一:

docker search centos
// 因为offical的name是centos
docker pull centos

方法二:通过导入的方式,先将预先准备好的镜像放到随便一个路径

docker load -i ./xxx.tar

方法三:下载其他网站的镜像

docker pull http://xxx.xx.tomcat:lastest

运行镜像

docker run -it name:version bash
eg:docker run -it centos:latest bash
exit // 退出并关闭

后台运行

docker run -d centos:latest bash -c "while true;do echo hello world;sleep 1; done"
// 查看containerId
docker ps
// 根据上面的id查看日志
docker logs containerId
// 命名启动
docker run -d --name mysql -it alpine:latest
// 重命名
docker rename oldName newName
docker rename containerId newName
// 开机启动 --restart=always表示退出时重启
docker run -id centos:latest --name namme --restart=always
docker update --restart=always 容器id或名字
// 端口映射
docker run -p 80:80 -v /data:/data -d nginx:latest

容器管理

image.png

// 列出所有容器
docker ps -a
// 停止
docker kill containerId
// 启动
docker start containerId
// 进入容器
docker attach containerId
// 退出
exit
// 删除
docker rm id
// 批量删除
docker rm $(docker ps -a | grep containerID |awk '{print  $1}')

数据映射

运行

语法: docker run -itd -v /src:/dst centos bash
-v用来指定挂载目录,冒号: 前面的/src为物理机本地目录,后面的/dst为容器里的目录。
例1:把物理机上的/var/www/html映射到docker实例的/var/www/html。
好处:这样当docker坏了,数据还在物理机上,再使用apache镜像启动-个docker实例就可以
了,数据不丢失

修改

https://blog.csdn.net/weixin_40118894/article/details/117302300
如果是修改已经启动的docker容器,则需要停止docker服务

systemctl stop docker.service
vim /var/lib/docker/containers/【container-ID】/config.v2.json

找到如下节点,添加即可 opt是容器中目录

"MountPoints": {
        "/opt": {
            "Destination": "/opt",
            "Driver": "",
            "Name": "",
            "Propagation": "rprivate",
            "RW": true,
            "SkipMountpointCreation": false,
            "Source": "/data/container/mysql",
            "Spec": {
                "Source": "/data/container/mysql",
                "Target": "/opt",
                "Type": "bind"
            },
            "Type": "bind"
        }
    },

启动

sudo systemctl daemon-reload && sudo systemctl restart docker

权限

https://blog.csdn.net/weixin_42445065/article/details/117968263

引用

https://www.bilibili.com/video/BV1h5411P7Nm?p=2&spm_id_from=pageDriver