Docker专题
记录个人认为有价值的所有跟docker相关的配置和操作
Docker安装
官网安装教程
卸载老版本
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
配置docker yum 源
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
配置docker
配置daemon.json
vim /etc/docker/daemon.json
{
"exec-opts": [
"native.cgroupdriver=systemd"
],
"registry-mirrors": [
"https://docker.hpcloud.cloud",
"https://docker.m.daocloud.io",
"https://docker.unsee.tech",
"https://docker.1panel.live",
"http://mirrors.ustc.edu.cn",
"https://docker.chenby.cn",
"http://mirror.azure.cn",
"https://dockerpull.org",
"https://dockerhub.icu",
"https://hub.rat.dev"
],
"insecure-registries": [
"172.17.0.9:9001"
]
}
# native.cgroupdriver:k8s的kubelet使用的是systemd驱动。如果要搭建k8s这里需要配置下,修改kubelet配置也可以,相对麻烦点;
# registry-mirrors:镜像下载地址,修改为国内地址,加速镜像下载速度;
# insecure-registries:docker私有仓库默认是通过https访问的,配置为非安全模式,可以通过http的方式访问私有仓库
#如果docker pull 拉镜像报错(不管报什么错),大概率是上面配置的国内镜像仓库访问的问题,百度找最新的国内镜像仓库替换掉就行了。
#重启docker守护进程
sudo systemctl daemon-reload
sudo systemctl restart docker
配置支持远程连接
vim /usr/lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:1802 --containerd=/run/containerd/containerd.sock
# 端口最好不要用默认的2375(坏人太多了^_^)
Docker常用命令
# 镜像相关操作
docker build 根据dockerfile构建镜像
docker search imageName 搜索镜像(模糊搜索)
docker pull imageName 拉取镜像
docker rmi [-f] imageId/imagename 删除镜像
docker image ls 查看镜像
docker image inspect imageId/imagename 查看镜像的详细信息
# 容器相关操作
docker 非交互式启动容器 如 docker run --name register --net host devops_register
docker 交互式启动容器 docker run --rm -it devops_register /bin/bash
docker rm [-f] containerId/containerName 删除容器
docker ps 查看所有运行的容器
docker container ls [-a] 查看运行的容器 :-a 查看所有容器
docker container inspect containerId/containerName 查看容器的详细信息
# 网络相关操作
docker network create networkName 创建网络
docker network connect containerId/containerName networkId/networkName 把容器连接到指定网络上
docker network inspect networkId/networkName 查看网络的详细信息
docker network ls 查看网络
# 宿主机与容器之间实现资源拷贝
docker cp [containerName:file]source [containerName:file]target : 如 docker cp register:/etc/config ./
docker-compose安装
官网安装教程
# 下载执行文件
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
# 给执行文件添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
# 把可执行软链到/usr/bin目录下(echo $PATH看下,如果/usr/local/bin也在系统环境path里,可以无视软链操作)
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
# 查看是否安装成功
docker-compose -v(--version)