docker安装
- linux上安装Docker(非常简单的安装方法)
修改docker镜像源
- 修改或新增 /etc/docker/daemon.json
# vi /etc/docker/daemon.json
{
“registry-mirrors”: [“http://hub-mirror.c.163.com”]
}
systemctl restart docker.service
docker 命令
docker ps -n 5 查看容器
docker restart 容器ID ;重启重启里的实例
- 可以使用"docker rm 容器id"来删除一个终止状态的容器;若要删除一个运行中的容器,需要加-f参数。
- 1.停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
- 如果想要删除所有container的话再加一个指令:
docker rm $(docker ps -a -q)
- 2.查看当前有些什么images
docker images
- 3.删除images,通过image的id来指定删除谁
docker rmi
- 想要删除untagged images,也就是那些id为
的image的话可以用
docker rmi $(docker images | grep “^
” | awk “{print $3}”)
- 要删除全部image的话
docker rmi $(docker images -q)
- 创建容器
docker build -t npapi .
- 运行docker对应的容器 映射端口(然而感觉不好使,需要进行docker内部系统的额外映射,或者是Linux中的映射后,外部才会能访问到)
docker run npapi -p 6888:6888
- 上边的东西通过Dockerfile解决,如下:
ENV ASPNETCORE_URLS=http://+:6888
- 运行busybox docker容器(busybox 可以调用一些类似于ping telnet 等命令)
docker pull busybox
docker run -it busybox
- 查看docker镜像信息
docker inspect 【imagename】
- !解决时区不统一,连接Oracle报错问题:
- Dockerfile文件中填写如下两句话;
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo ‘$TZ’ > /etc/timezone
- 完整配置如下:
FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
#定义时区参数
ENV TZ=Asia/Shanghai
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo ‘$TZ’ > /etc/timezone
WORKDIR /app
EXPOSE 6888
COPY . .
ENTRYPOINT [“dotnet”, “NP.API.dll”]
- 查看docker容器IP地址命令(前提是:docker得是运行状态)
sudo docker inspect -f=’{{.NetworkSettings.IPAddress}}’ $(sudo docker ps -a -q)
进入容器命令
- 使用docker attach进入Docker容器,Docker提供了attach命令来进入Docker容器。
- 接下来我们创建一个守护态的Docker容器,然后使用docker attach命令进入该容器。
$ sudo docker run -itd ubuntu:14.04 /bin/bash
- 然后我们使用docker ps查看到该容器信息,接下来就使用docker attach进入该容器
$ sudo docker attach 44fc0f0582d9
可以看到我们已经进入到该容器中了。
- 但在,使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。
- 因为这个原因,所以docker attach命令不太适合于生产环境,平时自己开发应用时可以使用该命令。
解决在docker中运行 asp.net core项目的时候,出现的gdiplus问题
- 访问这个链接,https://www.cnblogs.com/sunnytrudeau/p/9384620.html
- 以上方法如果不行,那就直接用下面的语句,挂代理直接壳!
RUN apt-get update
RUN apt-get install libfontconfig1 -y
RUN apt-get install libgdiplus -y && ln -s libgdiplus.so gdiplus.dll
Docker运行实例的时候出现WARNING:IPv4 forwarding is disabled. Networking will not work. 的解决办法
#需要做如下配置
解决办法:
vi /etc/sysctl.conf
net.ipv4.ip_forward=1 #添加这段代码
#重启network服务
systemctl restart network && systemctl restart docker
#查看是否修改成功 (备注:返回1,就是成功)
[root@localhost ~]# sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1