windows下
我在win下安装docker是使用vs2019版本运行的时候 用docker运行。 然后他自动为我安装了docker-client,然后右下角会多一个docker的logo点击或者双击就可以用啦。
还可以直接到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
安装的时候有时候会遇到下面这个问题。需要卸载 重新安装 请看这个连接 我从网上搜到的
:
安装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