Docker笔记

Docker 命令 css

Docker 在 centos 7上升级  http://blog.rcant.com/2017/05/22/docker/docker-centos-up/

docker --version 查看版本html

systemctl start docker 启动Dockermysql

docker pull redis 下载镜像 docker pull  获取镜像nginx

docker images 找到全部本地镜像git

docker ps 查看运行的容器web

docker ps -a 查看所有运行记录redis

docker logs mysql 查看日志sql

 

docker run -d -p 8001:80 --name redis01 redis:latest      启动一个redis 名字叫redis01   -it进去容器里面 docker restart命令重启容器docker

(-p 物理机的端口8001:映射到容器端口,-d 不会堵塞当前线程) Ctrl+P+Q进行退出容器  exit退出即关闭      docker attach 2904cd0f70e6进去容器shell

docker start mysql 启动容器镜像

docker stop mysql 关闭容器镜像

docker rm mysql 删除容器

 

docker build [options] <path|URL>

Dockerfile

   FROM|

  COPY/ADD|

  RUN/CMD|

  ENTRYPOINT|

  ENV|

  EXPOSE|

  WORKDIR

microsoft/dotnet

microsoft/dotnet:sdk

microsoft/dotnet:<version>-runtime

例如 1

From scratch  用到空白镜像

FROM microsoft/dotnet

WORKDIR /app

COPY . /app

CMD ["dotnet","run"]

docker build -t anker/console:dev .

例如2 

FROM microsoft/dotnet:sdk AS build-env
WORKDIR /code

COPY *.csproj /code
RUN dotnet restore

COPY . /code
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:runtime

WORKDIR /app
COPY --from=build-env /code/out /app

ENTRYPOINT ["dotnet", "MyHtml.dll"]
docker build -t anker/console:dev .

 例如3 打包程序

FROM microsoft/aspnetcore-build AS build-env
WORKDIR /code
COPY *.csproj ./
RUN dotnet restore
COPY . ./
RUN dotnet publish -c Release -o out

FROM microsoft/aspnetcore
WORKDIR /app
COPY --from=build-env /code/out ./

EXPOSE 8000
ENTRYPOINT ["dotnet","WebApiMysql.dll"]

docker build -t anker/console:dev .

 -v /etc/localtime:/etc/localtime:ro 同步时间

数据卷

docker run -d -p 5000:5000 --name html02 -v=/docker/myhtml/wwwroot:/app/wwwroot -v=/docker/myhtml/appsettings.json:/app/appsettings.json   myhtml:dev 

docker run --name show08 -d -p 80:5000 -v=/docker/show/wwwroot:/app/wwwroot -v /etc/localtime:/etc/localtime:ro

link 容器互联

docker run -d -p 8002:08 --name aspnetcore --link mysql01:db   -v /etc/localtime:/etc/localtime:ro  anker/console:prod

link Network 互联两种方式(Bridge,Overlay(集群))

docker network create -d bridge mybridge  建立network

docker network ls //查看network

使用 docker run -d -p 8002:80 --net mybridge  --name aspnetcore anker/console:prod

docker  inspect aspnetcore 查看全部配置信息  会产生新的网管

docker network connect mybridge  mysql01  //而后mysql01 多加一个网关地址,所有在mybridge  在asonetcore 能够ping通mysql01

docker rename mysql01 db  //能够修更名字

Docker-compose

version: '3'

services:
    db:
        image: mysql/mysql-server
        command: mysql --character-set-server=utf8 --collation-server==utf8_geneal_ci
        restart: always
        ports:
            - '3306:3306'
        environment:
            MYSQL_ROOT_PASSWORD: sa123456
            MYSQL_USER: anker
            MYSQL_PASSWORD: sa123456
        volumes:
            - /d/docker/beta/mysql-init:/docker-entrypoint-initdb.d
    web:
        build: .
        container_name: 'aspnetcore'
        ports:
            - '8003:80'
        depends_on:
            - db

/mysql-init/init.sql   "GRANT ALL PRIVILEGES NO *.* TO 'anker'@'%' WITH GRANT OPTION;"

  docker-compose build  构建容器  docker-compose up启动 docker-compose down 回滚操做 

Redis Desktop Manager Redis客户端

Robomongo mongo客户端

https://hub.docker.com/  国内镜像

阿里云镜像 https://dev.aliyun.com/search.html

https://docs.docker-cn.com/   官方中文文档

Docker中文文档 https://yeasy.gitbooks.io/docker_practice/content/

 

但是当你敲apt-get install vim命令时,提示:

        Reading package lists... Done
        Building dependency tree       
        Reading state information... Done
        E: Unable to locate package vim

        这时候须要敲:apt-get update,这个命令的做用是:同步 /etc/apt/sources.list 和 /etc/apt/sources.list.d 中列出的源的索引,这样才能获取到最新的软件包。

        等更新完毕之后再敲命令:apt-get install vim命令便可。

netstat -aon 查看本地全部使用的端口

netstat -aon|findstr "8001" 查看指定端口

 mkdir 建立文件夹 touch 建立文件

sudo systemctl start nginx   重启

docker  inspect mysql01 查看全部配置信息

删除全部无名称镜像:

docker image prune -a -f "dangling=true"

ASP.NET Core 生成图片问题

你们应该知道目前.NET Core(2.0)仍是没有System.Drawing程序集,若是咱们要使用Image等对象来完成生成图片验证码、图片二维码等操做只有经过第三方编写的组件,ZKWeb.System.Drawing即是其中一个,咱们使用它之后,咱们在windows上运行良好,无需其余额外的操做。可是咱们一到Linux运行或者使用Docker(dotnet镜像使用的是ubantu环境)运行时,会发现程序没法正常生成图片,会出现异常,这是由于咱们的zk在Linux/Docker下运行须要安装一个名为 libgdiplus 的组件,咱们在构建Docker镜像的时候能够经过RUN命令使用apt-get命令进行安装:

RUN apt-get update RUN apt-get install libgdiplus --assume-yes RUN cd /usr/lib RUN ln -s libgdiplus.so gdiplus.dll
相关文章
相关标签/搜索