一.docker安装(Centos)
1.删除旧版本docker
sudo dnf remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2.配置docker yum源
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3.安装Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
4.启动Docker
#启动Docker
sudo systemctl start docker
#设置开机自启动
systemctl enable docker
5.配置下载镜像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://mirror.ccs.tencentyun.com",
"https://docker.m.daocloud.io"
]
}
EOF
6.重启
sudo systemctl daemon-reload
sudo systemctl restart docker
二.常用命令
1.镜像(images)相关:
①列表:docker images
②检索:docker search {镜像名称}
③下载:docker pull {镜像名称} 或者 docker pull {镜像名称}:{版本}
④删除:docker rmi {镜像名称}:{版本}
⑤提交: docker commit {容器id} {新镜像名称}:{版本} 打包成一个新的镜像
-a 作者
-c 改变的列表
-m 提交信息
-p 暂停容器运行,默认为ture
eg: docker commit -a "pr" -m "test" myTest mycommit:v1
⑥保存:docker save -o {导出文件名称} {镜像名称}:{版本}
⑦加载:docker load -i {导入文件名称}
2.容器相关:
①查询:docker ps(运行中) 或者 docker ps -a(全部)
②创建:docker run {镜像名称}:{版本}
-d 后台启动
--name {name} 指定名字
-p {外部端口}:{内部端口} 端口映射
-v {linux目录}:{容器内目录} 挂载
-v {卷名}:{容器内目录} 卷映射(卷路径:/var/lib/docker/volumes/{卷名})
--network {网络名称} 参见【4.网络】
eg : docker run -d --name nginx -p 80:80 nginx
③启动:docker start {容器ID} ※用名字也可,其他同理
④停止:docker stop {容器ID}
⑤重启:docker restart {容器ID}
⑥状态:docker stats {容器ID}
⑦日志:docker logs {容器ID}
⑧进入:docker exec {容器ID} docker exec -it xxx /bin/bash
⑨删除:docker rm {容器ID}
3.分享社区:
①登录:docker login
②命名:docker tag
③推送:docker push
4.网络:
docker为每个容器分配唯一ip, 使用容器ip和容器端口就可以互相访问,
也可以启动时,设置自定义网络,就可以用容器名称和容器端口互相访问;
①创建网络 :docker network create {名称}