Docker入门笔记
Docker入门笔记
随笔记录初学Docker遇到的问题, 以免下次再犯. 本机系统Ubuntu18.04
安装
Docker有2个版本
- Community Edition (CE) 社区版(免费)
- Enterprise Edition (EE) 企业版
- 删除旧版
sudo apt-get remove docker docker-engine docker.io
- 添加一些依赖包
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
- 添加官方GPG Key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
- 添加apt私有仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
- 安装Docker
sudo apt-get update
sudo apt-get install docker-ce
- 检测是否安装
docker --version
创建镜像
- 新建dotnet控制台项目
mkdir dotnet-test
cd dotnet-test
dotnet new console
- 创建Dockerfile并配置
# 使用官方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镜像
docker build -t dotnet-test .
- 查看并运行刚才创建的docker镜像
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"]}
- 重启docker
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 从私服下载镜像
Tips
- 有时候
registry容器删不掉可以执行sudo killall docker-containerd-shim然后docker重新运行容器
Docker入门笔记的更多相关文章
- Docker入门笔记(1)
Docker入门笔记(1) 1.安装Docker yum -y install docker-ce 2.查看Docker版本 [root@localhost ~]# docker -v Docker ...
- Centos7——docker入门(笔记)
docker 入门(笔记) 一.Docker是什么? 官方原话: Docker provides a way to run applications securely isolated in a co ...
- Docker入门-笔记-1
Docker入门 Docker 是 Golang 编写的, 自 2013 年推出以来,受到越来越多的开发者的关注.如果你关注最新的技术发展,那么你一定听说过 Docker.不管是云服务还是微服务(Mi ...
- Docker 入门笔记
Docker 可以理解为一个轻量化的虚拟机, 启动速度快,本身占的资源小 [重要], 容器里是不能保存数据的,容器只要一停止, 所有的数据都会丢失,所以如果重要的数据, 都需要通过配制,把数据保存在 ...
- 笔记 docker入门笔记
安装sudo apt-get remove docker docker-engine docker-ce docker.iosudo apt-get updatesudo apt-get instal ...
- Docker入门笔记(Centos7)
centos7 wget https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo vim docker-c ...
- docker入门与部署微服务--学习笔记
最近公司进一步去windows,走向 linux+云化. 原来的一大坨windows虚拟机服务器都要转向linux, 既然走向linux的话,那么docker肯定是要涉足的. 故学习了docker入门 ...
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- Docker入门命令
Edit Docker入门命令 # 安装镜像sudo docker pull ubuntu:12.04# 镜像列表sudo docker images# 运行镜像sudo docker run -t ...
随机推荐
- Entity Framework Core 2.0 入门
该文章比较基础, 不多说废话了, 直接切入正题. 该文分以下几点: 创建Model和数据库 使用Model与数据库交互 查询和保存关联数据 EF Core支持情况 EF Core的数据库Provide ...
- Python爬虫入门项目
Python是什么 Python是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 创始人Guido van Ros ...
- 『2019/3/8 USACO测试 反思与总结』
2019/3/8 USACO测试 这一次是到高中的第一次考试,考得不太好,原因有很多. 先看一下试题安排: 题号 试题分组 考察算法 思维难度 代码难度 1 金组\(T1\) 建图+最短路 ★★★ ★ ...
- Java8虚拟机内存模型
1. Java虚拟机运行时数据区 在JDK1.8之前,JVM运行时数据区分为堆.虚拟机栈.本地方法栈.方法区.程序计数器.如下图所示: 虚拟机栈:线程私有,随线程创建而创建.栈里面是一个一个“栈帧” ...
- windows git 上传
1.打开git.bash 2. 告诉要传的git的用户名字 和邮箱地址 git config --global user.name "CardLove" git config -- ...
- [linux]孤儿进程与僵尸进程
转载自:http://www.cnblogs.com/Anker/p/3271773.html 一.前言 之前在看<unix环境高级编程>第八章进程时候,提到孤儿进程和僵尸进程,一直对这两 ...
- 如何发起、防御和测试XSS攻击,我们用DVWA来学习(上)
XSS 全称Cross Site Scripting 即‘跨站脚本攻击’. 从其中文释义我们能直观的知道,这是一种对网站的攻击方式. 其原理在于,使用一切可能手段,将可执行脚本(scripting)植 ...
- Chapter 5 Blood Type——13
"Kryptonite doesn't bother me, either," he chuckled. “氪星石也不会影响我,” 他笑着说道. "You're not ...
- 使用ajax+php+mysql实现数据库定时刷新
php版本5.5.9,mysql版本5.7. 所以php链接mysql就是使用mysql_connect. 如果遇到了连接时没有成功也没有失败的情况时,就重启mysql,或重启docker(睡一觉就好 ...
- 【原创】PicUploader: 一个还不错的图床工具
PicUploader PicUploader 是一个用php编写的图床工具,它能帮助你快速上传你的图片到云图床,并自动返回Markdown格式链接到剪贴板.配置完成后,要获取一个可用于markdow ...