安装 apt 依赖包,用于通过HTTPS来获取仓库:
1sudo apt-get install \ 2 apt-transport-https \ 3 ca-certificates \ 4 curl \ 5 gnupg-agent \ 6 software-properties-common
方法一,使用官方的
安装 Docker 的官方 GPG 密钥:
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 2# 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 通过搜索指纹的后8个字符,验证您现在是否拥有带有指纹的密钥。 3sudo apt-key fingerprint 0EBFCD88
返回类似:
1pub rsa4096 2017-02-22 \[SCEA\] 2 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88 3uid \[ unknown\] Docker Release (CE deb) <docker@docker.com> 4sub rsa4096 2017-02-22 \[S\]
方法二,使用阿里云的
1# 安装阿里云的 GPG 证书: 2curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - 3# 添加源: 4sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" 5# 由于 20.04 新发布,没有可用的源,可以使用 18.04的: 6sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu bionic stable"
-
安装:
sudo apt-get install docker-ce docker-ce-cli containerd.io -
验证安装是否成功:
sudo docker run hello-world -
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://cqj9zqqh.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker -
进入镜像的终端:
docker run -t -i image_name /bin/bash -
启动 php + nginx
docker run --name runoob-php-nginx -p 8083:80 -d
-v ~/nginx/www:/usr/share/nginx/html:ro
-v ~/nginx/conf/conf.d:/etc/nginx/conf.d:ro
--link myphp-fpm:php
nginx
使用 私有仓库
-
登录私有仓库
sudo docker login --username=xxx registry.cn-qingdao.aliyuncs.com -
打包成本地镜像,把 59552fc496c6 打包成 xxx/lotus_env
sudo docker commit 59552fc496c6 aaa/xxx -
添加 tag
sudo docker tag aaa/xxx registry.cn-qingdao.aliyuncs.com/aaa/xxx:latest -
推送
sudo docker push registry.cn-qingdao.aliyuncs.com/aaa/xxx:latest -
拉取
sudo docker pull registry.cn-qingdao.aliyuncs.com/aaa/xxx:latest -
nginx 镜像的默认站点目录: /usr/share/nginx/html
docker run --name ngx -p 8091:8091 -d
-v ~/data/test_nginx1/html:/usr/share/nginx/html:ro
-v ~/data/test_nginx1/nginx_conf:/etc/nginx/conf.d:ro
nginxnginx 指定目录映射,一个网页目录,一个配置目录(修改端口等):
docker run --name ng91 -p 8091:8091 -d -v /home/xxx/data/test_nginx1/html:/usr/share/nginx/html:ro -v /home/xxx/data/test_nginx1/nginx_conf:/etc/nginx/conf.d:ro nginx docker run --name ng92 -p 8092:8092 -d -v /home/xxx/data/test_nginx2/html:/usr/share/nginx/html:ro -v /home/xxx/data/test_nginx2/nginx_conf:/etc/nginx/conf.d:ro nginx
测试启动不同端口,访问的文件是可以隔离开,再测试 mysql 镜像
要注意目录的权限