Docker 命令 css
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://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"
你們應該知道目前.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