Docker国内镜像:
网易加速器:http://hub-mirror.c.163.com
官方中国加速器:https://registry.docker-cn.com
ustc的镜像:https://docker.mirrors.ustc.edu.cn
卸载:
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
yum -y remove docker
yum list docker-ce --showduplicates | sort -r # 查看docker版本
安装:
yum install -y yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 设置国内镜像源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo # 设置Docker存储库
yum install docker-ce docker-ce-cli containerd.io
systemctl start docker
docker version
修改镜像源:
vim /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl daemon-reload
systemctl restart docker
systemctl enable docker # 开机启动
systemctl disable docker # 取消开机启动
chkconfig docker on
# 安装docker-compose
curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
docker-compose --version
docker
后台启动容器 mysql
docker run --name mysqltest1 -p3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
进入镜像内部
docker -exec -it mysqltest1 /bin/bash
-e ... :指定参数 (例如 -e url=http://www.baidu.com:3001 -p3001:3001 外部访问http://www.baidu.com:3001即可)
-i : 表示允许我们对容器内的STDIN进行交互
-t : 表示在新容器内指定一个伪终端或终端
/bin/bash:这将在容器内启动bash shell
-d : 表示告诉docker运行容器在后台模式运行
-p : 表示通知docker所需要的网络端口映射从主机映射到容器内,-p 1234:3306 ,这样的映射,我们外界访问是访问1234端口
docker version : 会返回docker客户端版本信息,和docker的编程语言Go的版本信息
docker : 只输入docker,会列出docker中的所有可用命令列表,docker --help 也有此作用
docker logs : 看容器中的日志记录
docker port images port :查看指定容器imges的端口port映射到宿主机的端口号
docker top images : 查看images容器的进程
docker inspect images : 查看容器的底层信息,它会返回一个JSON文件记录docker容器的配置和状态信息。
停用全部运行中的容器:
docker stop $(docker ps -q)1
删除全部容器:
docker rm $(docker ps -aq)1
一条命令实现停用并删除容器:
docker stop $(docker ps -q) & docker rm $(docker ps -aq)
查找镜像:docker search mysql
下载镜像:docker pull mysql:latest
查看镜像:docker images
启动镜像:docker run --name [自定义镜像名] -p[外部访问端口]:[镜像内部端口] -e [变量设置] -d mysql:latest
查看镜像启动状态:docker ps -a
停止容器:docker stop [容器名]
删除容器:docker rm [容器名]
进入容器内部:docker exec -it [容器名] /bin/bash
docker --help 查看帮助信息
docker镜像加速器配置地址: /etc/docker/daeman.json
podman 镜像加速器配置地址 /etc/containers/registries.conf
podman images
podman ps -a
podman run -it -d --name=$yourname image_name bash
podman exec -it 容器名称 bash
podman start 容器名称
podman stop 容器名称
podman inspect 容器名称 # 查看容器详情
podman rmi 镜像名称 # 删除镜像
podman rm 容器名称 # 删除容器
指定网段
podman network create --subnet=72.1.0.1/16 mynet
podman netrork ls
podman network rm mynet
podman run -it --net mynet --ip 172.1.0.2 镜像名称 bash # 创建指定ip地址的容器
端口映射
podman run -it -p 宿主机端口:容器端口 --name=容器名称 镜像名称 bash
目录挂载/共享
podman run -it -v 宿主机目录:容器目录 --name=容器名称 镜像名称 bash
# 查看网络
firewall-cmd --get-active-zones
firewall-cmd --zone=trusted --list-all
firewall-cmd --zone=trusted --add-interface=cni-podman0
# 生成镜像
podman commit 镜像id 仓库名称:tag
# 登录
podman login --username=xxxxx 仓库地址
# tag
podman tag 镜像id 仓库地址:tag
# 提交镜像
podman push 仓库地址:tag
# 退出登录
podman logout 仓库地址