随笔记录初学docker遇到的问题, 以免下次再犯. 本机系统ubuntu18.04
docker有2个版本
sudo apt-get remove docker docker-engine docker.io
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fssl https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get update
sudo apt-get install docker-ce
docker --version
mkdir dotnet-test
cd dotnet-test
dotnet new console
# 使用官方dotnet运行时作为父镜像 from microsoft/dotnet:latest # 设置工作目录 workdir /app # 拷贝.csproj到工作目录/app,然后执行dotnet restore恢复所有安装的nuget包 copy *.csproj ./ run dotnet restore # 拷贝所有文件到工作目录(/app), 然后利用dotnet-cli发布应用到/app/out目录下 copy . ./ run dotnet publish -c release -o out # docker容器启动时运行 entrypoint [ "dotnet", "/app/out/dotnet-test.dll" ]
docker build -t dotnet-test .
docker images
可以在输出列表中找到dotnet-test
所在行
docker run dotnet-test
运行镜像, docker run
命令其实是2条命令(docker create
, docker start
)结合的快捷方式
sudo vim /etc/default/docker
编辑此配置文件, 输入以下内容(注意换成自己ip)
# docker upstart and sysvinit configuration file # # this file does not apply to systemd # # please see the documentation for "systemd drop-ins": # https://docs.docker.com/engine/admin/systemd/ # # customize location of docker binary (especially for development testing). #dockerd="/usr/local/bin/dockerd" # use docker_opts to modify the daemon startup options. #docker_opts="--dns 8.8.8.8 --dns 8.8.4.4" docker_opts="--registry-mirror=http://hub-mirror.c.163.com --add-registry 192.9.1.3:5000 --insecure-registry 192.168.1.3:5000" # if you need docker to use an http proxy, it can also be specified here. #export http_proxy="http://127.0.0.1:3128/" # this is also a handy place to tweak where docker's temporary files go. #export docker_tmpdir="/mnt/bigdrive/docker-tmp"
https
问题这个问题可能是由于客户端采用https,docker registry未采用https服务所致。一种处理方式是把客户对地址“192.168.1.3:5000”请求改为http
vim /etc/docker/daemon.json
创建并编辑此文件, 输入内容 {"insecure-registries":["192.168.66.100:5000"]}
sudo service docker restart
registry
镜像, 并启动docker pull registry
拉取registry
镜像
sudo docker run -d -p 5000:5000 -v /home/xueyou/applications/docker/registry:/var/lib/registry registry
后台启动容器, 要用sudo
启动才能有网络权限
docker tag dotnet-test:latest 192.168.1.3:5000/dotnet-test
标记镜像, 将本地镜像和远程私服关联
docker push 192.168.1.3:5000/dotnet-test
镜像上传到私服
docker rmi 192.168.1.3:5000/dotnet-test
删除本地镜像
docker pull 192.168.1.3:5000/dotnet-test
从私服下载镜像
registry
容器删不掉可以执行 sudo killall docker-containerd-shim
然后docker重新运行容器
如对本文有疑问, 点击进行留言回复!!
mysql中如何实现 row_number分组求topN的功能
SQLSERVER中RANK OVER(PARTITION BY)的用法
Kaspersky Endpoint Security 10 for Windows version 10.2.6.3733 is no longer supported
网友评论