windows下

我在win下安装docker是使用vs2019版本运行的时候 用docker运行。 然后他自动为我安装了docker-client,然后右下角会多一个docker的logo点击或者双击就可以用啦。

zabbix6容器安装 如何安装容器_mvc


还可以直接到docker的官网上去下载docker文件安装

docker.com

中文的一些参考网站 :http://www.dockerchina.cn

下面为 linux下安装 :
#在root 用户下
#第一步 卸载旧的安装包

yum remove docker \
        docker-client \
         docker-client-latest \
         docker-common \
         docker-latest \
         docker-latest-logrotate \
         docker-logrotate \
         docker-engine

#第二步 安装需要的安装包

yum install -y yum-utils
sudo yum install -y yum-utils \
    device-mapper-persistent-data \
    lvm2

#第三步 设置镜像的仓库

yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

–默认是国外的
#如果没有vpn 建议安装阿里云的

sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

上面的不成功可以使用下面这两个先把docker的安装包安装一下 ,(去除最后的文件路径可以查看这连接里面的文件列表)

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

然后执行安装和启动

sudo yum install docker-ce
sudo systemctl start docker
sudo systemctl enable docker
sudo docker run hello-world

#更新yum 索引安装包

yum makecache fast 
或者yum makecache

安装的时候有时候会遇到下面这个问题。需要卸载 重新安装 请看这个连接 我从网上搜到的


zabbix6容器安装 如何安装容器_mvc_02

安装docker相关的

yum install docker-ce docker-ce-cli containerd.io (可能会出错,多试几次)
 有时候docker和别的软件 会有冲突 比如 podman  buildah , 如果跟这些软件有冲突那么就得把这俩卸载了。
 1. 查看是否安装 Podman
	{
		rpm -q podman
		podman-1.4.2-5.module_el8.1.0+237+63e26edc.x86_64
		2. 删除Podman 
		dnf remove podman
	}
 #启动docker 服务
 systemctl start docker
 #查看docker 是否安装完成
 docker --version
 #通过hello world 来验证
 docker run hello-world
#查看所有的docker 镜像
 docker images

Docker 卸载

卸载依赖

yum remove docker-ce docker-ce-cli containerd.io

删除资源

rm -rf /var/lib/docker
docker相关指令
 docker基本命令:然docker启动后容器也自启动,代码如下:
 docker container update --restart=always 容器名字
 进入容器内部
 docker exec -it 容器 /bin/bash 去编辑 ngnix.conf 配置文件。
 设置docker 开机自动启动 :systemctl enable docker查看所有镜像 docker images
删除镜像(会提示先停止使用中的容器) docker rmi 镜像name/镜像id
查看所有容器 docker ps -a
查看容器运行日志 docker logs 容器名称/容器id
停止容器运行 docker stop 容器name/容器id
终止容器后运行 docker start 容器name/容器id
容器重启 docker restart 容器name/容器id
删除容器 docker rm -f 容器name/容器id
#删除镜像
 docker rmi -f 镜像id (可以根据 docker images 查询)
 docker rmi -f $(docker images) --删除所有镜像
 #查询docker 的详细信息
 docker stats dockerid二、停止一个正在运行的容器
 1、docker stop 此方式常常被翻译为优雅的停止容器docker stop 容器ID或容器名
 参数 -t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态
 docker stop -t=60 容器ID或容器名2、docker kill
docker kill 容器ID或容器名 :直接关闭容器
由此可见stop和kill的主要区别:stop给与一定的关闭时间交由容器自己保存状态,kill直接关闭容器
 想更进一步了解处理机制的可以看下面这篇文章,比较详细但是需要其他方面的1.停用全部运行中的容器:
 docker stop $(docker ps -q)2.删除全部容器:
 docker rm $(docker ps -aq)3.一条命令实现停用并删除容器:
 docker stop $(docker ps -q) & docker rm $(docker ps -aq)运行.net 代码使用以下命令
 2.#切换到上传的文件目录下 执行
 docker build -t coremvc . 【coremvc 为项目名称】
 docker run --name netcore-mvc -d -p 8080:80 coremvc踩坑1:如果在run的时候遇到下面这个错误 , 那么需要重启下docker是什么问题导致的我也不是很清楚:
命令:systemctl restart docker
 docker: Error response from daemon: driver failed programming external connectivity on endpoint net5test01 (615e77932cc0460483d895197d1bd97135ecb81d961422d8d65bf1c7d228ac57): (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8086 -j DNAT --to-destination 172.17.0.3:80 ! -i docker0: iptables: No chain/target/match by that name.踩坑2:
 如果是下面这个错误那么需要更改build命令docker build -t coremvc -f Dockerfile . --network=hostdocker build: Unable to load the service index for source https://api.nuget.org/v3/index.json.
防火墙开端口:firewall-cmd --zone=public --add-port=9092/tcp --permanent
 容器一直跑不自动停止得解决办法:docker container update --restart=always 容器名字docker run -dit --name zookeeper -p 2181:2181 wurstmeister/zookeeper
 docker run -dit --name kafka -p 9092:9092 -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=ip:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://ip:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 wurstmeister/kafka