配置加速器
登录地址:https://cr.console.aliyun.com/
选择镜像工具—镜像加速器,里面说了怎么通过/etc/docker/daemon.json配置加速器
vim /etc/docker/daemon.json添加:
{"registry-mirrors": ["https://registry.docker-cn.com"]}
使配置生效:
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
容器管理

// 列出所有容器
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
