sudo apt-get remove docker docker-engine docker-ce docker.io sudo apt-get update sudo apt-get install -y 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 -y docker-ce
systemctl status docker
如果尚未启动,则执行如下命令启动:
sudo systemctl start docker
docker search 关键字 docker pull 镜像名称 docker pull 镜像名称:版本 //在https://hub.docker.com/上可以查询镜像和版本信息 docker pull mysql //拉取mysql镜像,默认是最新版本,docker pull mysql:5.5 拉取特定版本mysql docker images //查看所有本地镜像 docker rmi image-id //删除指定镜像,image-id为镜像id
docker run --name mytomcat -d tomcat:latest //根据镜像启动容器 docker ps //查看运行的容器 docker stop 容器id //停止运行中的容器 docker ps -a //查看所有的容器,包括已经停止的 docker start 容器id //启动容器 docker rm 容器id //删除容器 docker run -d -p 8888:8080 tomcat // -d后台运行 -p将主机端口映射到容器端口 docker run -d -p 8889:8080 tomcat //也可启动多个 docker run -d -p 8890:8080 tomcat
由于众所周知的原因,国内对国外网络访问非常不友好,很多时候从hub.docker.com上拉取仓库会连接超时,这种情况下就需要配置代理了
配置代理的方式:
修改如下文件:
ubuntu: /etc/default/docker
centos: /etc/sysconfig/docker
在文件中增加以下内容:
HTTP_PROXY="http://[proxy-addr]:[proxy-port]/" HTTPS_PROXY="https://[proxy-addr]:[proxy-port]/" export HTTP_PROXY HTTPS_PROXY
将proxy-addr,proxy-port改成实际代理的名称
然后重启docker服务即可。
systemctl enable docker; systemctl daemon-reload ; systemctl restart docker
国内也很多docker镜像服务,docker官方也有国内的镜像,使用镜像的方法就是:
直接修改:/usr/lib/systemd/system/docker.service文件,在ExecStart中加入--registry-mirror=https://registry.docker-cn.com
保存文件,重启docker服务即可
systemctl enable docker; systemctl daemon-reload ; systemctl restart docker
往往我们会将一些服务打包成镜像,这种服务具有私有性,不方便放在hub.docker上,这个时候就需要搭建私有仓库
基于docker原生私有仓库镜像搭建私有仓库:
docker pull registry docker run -d -p 5000:5000 --restart=always --name registry -v /opt/registry:/var/lib/registry registry
-v /opt/registry:/var/lib/registry 表示将本地目录/opt/registry映射到仓库容器中的/var/lib/registry目录,该目录中存储仓库中的镜像文件
仓库跑起来后,就可以向私有仓库推送镜像了,如推送自定义的ubuntu镜像:
docker push localhost:5000/my-ubuntu
从私有仓库拉取镜像:
关于如何设置访问权限,如何提供可视化界面,可参考:https://www.cnblogs.com/jaazz/p/9334183.html
原文:https://www.cnblogs.com/moodlxs/p/12018826.html