Ubuntu安装Docker及使用
几年前入门学过一下Docker,可惜实际中没使用逐渐忘了,现在项目需要重新捡起来,发现Docker还是很好玩的。
记录一些不错的入门学习笔记的连接:
使用Docker搭建MySQL服务、Docker简易使用手册-Sablier
使用Docker搭建Caddy+Typecho个人博客网站-chamboin
Docker镜像制作教程:减小镜像体积-fuckcloudnative
安装docker
阿里云上发现了docker-ce的安装教程:https://developer.aliyun.com/mirror/docker-ce
# step 1: 安装必要的一些系统工具
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common
# step 2: 安装GPG证书
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# Step 3: 写入软件源信息
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
# Step 4: 更新并安装Docker-CE
sudo apt-get -y update
sudo apt-get -y install docker-ce
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# apt-cache madison docker-ce
# docker-ce | 17.03.1~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# docker-ce | 17.03.0~ce-0~ubuntu-xenial | https://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages
# Step 2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.1~ce-0~ubuntu-xenial)
# sudo apt-get -y install docker-ce=[VERSION]
如果有失败,比如用Ubuntu20,则手动配一下:
nano /etc/apt/sources.list.d/docker.list
deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable
测试:
sudo docker run hello-world
修改docker镜像源
修改或新增 /etc/docker/daemon.json
# nano /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl restart docker.service
再次执行hello-world测试。
安装docker-compose
官方教程:https://docs.docker.com/compose/install/
最快方法:https://github.com/docker/compose/releases
下载最新版,拷贝到/usr/local/bin下,重命名为docker-compose,加执行权限,OK!
安装MySQL
mkdir -p /root/dk-mysql/conf
mkdir /root/dk-mysql/logs
mkdir /root/dk-mysql/data
创建文件:/root/dk-mysql/conf/touchmysql.cnf
docker run -p 3306:3306 --name jfzmysql -v /root/dk-mysql/conf:/etc/mysql/conf.d -v /root/dk-mysql/logs:/logs -v /root/dk-mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7.30
docker exec -it jfzmysql bash
可以用工具远程试试能不能连进去,如不行则配置:
mysql -uroot -p
use mysql;
select host,user from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
docker logs -f --tail 10 a4dac74d48f7
安装php并加入mysql插件
Dockerfile:
FROM php:7.2.3-fpm
LABEL maintainer="sandeepin<sandeepin@qq.com>"
RUN apt-get update
RUN docker-php-ext-install pdo_mysql
docker build -t sandeepin/php:7.2.3-fpm .
docker images|grep sandeepin/php:7.2.3-fpm
docker run --name jfzphp72 -p 9000:9000 -v /root/dk-web:/var/www/html --link jfzmysql -d sandeepin/php:7.2.3-fpm
安装caddy
docker run --name jfzcaddy -v /root/dk-web:/srv -v /root/Caddyfile:/etc/Caddyfile -p 80:80 -p 443:443 -d abiosoft/caddy
CaddyfileL:
:80 {
gzip
browse
rewrite {
if {path} not_has admin
to {path} {path}/ /index.php
}
fastcgi / 192.168.233.254:9000 php {
root /var/www/html
}
log ./caddy.log
}
请在本机的/root/dk-web目录下面,添加一个最简单的PHP文件index.php测试。
<?php phpinfo(); ?>
安装Portainer
拉取镜像:
docker pull portainer/portainer
运行镜像:
mkdir /root/portainer
docker run -d -p 7000:9000 -v /root/portainer:/data -v /var/run/docker.sock:/var/run/docker.sock --name portainer portainer/portainer
- 上一篇: Linux常用指令学习
- 下一篇: 武藏野行的推理推荐(四)