我的GitHub
0%

无星的docker学习(一)- 环境准备

Centos

安装docker

1
2
3
4
5
6
7
8
sudo yum check-update
sudo yum install -y yum-utils
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#sudo yum install docker -y
sudo yum install -y docker-ce
sudo systemctl start docker
sudo systemctl enable docker
docker --version

设置镜像

1
2
3
4
5
6
7
8
9
10
11
# 不存在就创建
vim /etc/docker/daemon.json
# 设置内容
{"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://a.ussh.net",
]}
#重载systemd管理守护进程配置文件
sudo systemctl daemon-reload
#重启 Docker 服务
sudo systemctl restart docker

查看日志

1
2
# dstserver 是容器名字
docker logs -f dstserver

ubuntu 24.04

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# 卸载旧版本(可选)
sudo apt remove docker docker-engine docker.io containerd runc
# 更新 apt 并安装依赖
sudo apt update
sudo apt upgrade -y
sudo apt install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
# 设置 Docker 仓库(以 Ubuntu 为例)
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 更新 apt 并安装 Docker
sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# 测试
sudo docker run hello-world

# 配置国内镜像
# 此处以“https://docker.xuanyuan.me”镜像为例

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors": [
"https://docker.xuanyuan.me"
]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

我常用的一些docker

ddddocr

1
2
docker pull 329106954/ocr_server:centos
docker run -d -p 9898:9898 --name ddddocr imageid

clash

1
docker run -d --name=clash -v "$PWD/clash:/root/.config/clash/" -p "7890:7890" -p "7891:7891" -p "9090:9090" --restart=unless-stopped dreamacro/clash

mysql

mysql安装,映射端口到宿主机的3307,root密码iamsb,持久化到/root/home/mysqldata

1
docker run -d -p 3307:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=iamsb -v /root/home/mysqldata:/var/lib/mysql mysql:5.6

jenkins

  • 创建Jenkins的数据存储目录
1
mkdir -p /root/docker/jenkins_home
  • 拉取最新镜像
1
docker pull jenkins/jenkins:lts
  • 启动项目
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 8080 端口(Jenkins Web 界面端口)
# 50000 端口(Jenkins 远程 API 端口)
# /root/docker/jenkins_home 是Jenkins的数据存储目录
# /www/wwwroot 是产物部署目录
# /var/run/docker.sock 是Docker的Socket文件
# /usr/bin/docker 是Docker的可执行文件
# jenkins/jenkins:lts 是Jenkins的镜像
docker run -d \
-p 12180:8080 -p 12181:50000 \
--name jenkins \
--restart=always \
-u root \
-v /root/docker/jenkins_home:/var/jenkins_home \
-v /www/wwwroot:/www/wwwroot \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
jenkins/jenkins:lts
我是阿星,阿星的阿,阿星的星!