1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
docker  run \
--name nacos-server -d \
--privileged=true \
--restart=always \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
-e PREFER_HOST_MODE=hostname \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.33.8 \
-e MYSQL_SERVICE_DB_NAME=nacos \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=***! \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
nacos/nacos-server

拉取并安装

1
docker run -dit --name ql --hostname ql --restart always -p 5700:5700 -v $PWD/ql/config:/ql/config -v $PWD/ql/log:/ql/log -v $PWD/ql/db:/ql/db -v $PWD/ql/scripts:/ql/scripts -v $PWD/ql/jbot:/ql/jbot pupupu777/qinglong:2.10.13

进入容器

1
docker exec -it ql bash

在容器中拉取依赖

1
curl -fsSL https://ghproxy.com/https://raw.githubusercontent.com/bean661/utils/main/QLOneKeyDependency_easy.sh | sh

先安装linux依赖

gcc
g++
python3-dev
libc-dev

python依赖

1
2
3
4
5
6
7
8
9
10
11
12
13
pycryptodome 
pytz
typescript
httpx
success
--upgrade pip
pip
redis
jieba
canvas
requests
ping3
PyExecJS

node

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
34
35
36
37
38
39
40
41
42
43
ds 
json5
js-base64
require
tough-cookie
jsdom
global-agent
@types/node
typescript
dotenv
jsdom -g
form-data
png-js
ts-md5
tslib
jieba
ws@7.4.3
axios
date-fns
moment
prettytable
fs
crypto-js
ts-node
depend
ds
jsdom
requests
npm
node-jsencrypt
-g npm
cjs
upgrade pip
common
qs
ql
crypto -g
-g typescipt
https
proxy
agent
cheerio
request
1
docker run -d -p 8081:8081 --name nexus3 -e NEXUS_CONTEXT=nexus -e INSTALL4J_ADD_VM_PARAMS="-Xms512m -Xmx1024m -XX:MaxDirectMemorySize=1024m" -e TZ=Asia/Shanghai -v nexus:/nexus-data sonatype/nexus3

构建rockylinux的Dockerfile

1
2
3
4
5
6
7
8
9
FROM rockylinux/rockylinux:latest
LABEL MAINTAINER="huage"
LABEL OS="1.0"
WORKDIR /root/
RUN yum install -y openssh-server net-tools passwd
RUN echo 123456|passwd --stdin root
CMD ["/usr/sbin/sshd", "-D"]
ENTRYPOINT ["/usr/sbin/init"]

构建命令

1
docker build -t rockylinux-ssh:latest ./
1
2
3
4
5
6
for i in $(seq 1 5)
do
docker run -itd --name=batch-vm0$i --privileged rockylinux-ssh:latest
docker ps | grep -aiE rockylinux
docker inspect batch-vm0$i | grep -aiE ipaddr | tail -l | grep -aiowE "([0-9]{1,3}\.){3}[0-9]{1,3}"
done
1
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=66668888 mysql

docker网络

  1. docker0(172.17.0.1/16)

会默认创建docker0,以bridge方式工作

–network 网络名

自定义网络,容器间可以使用容器名相互访问

容器与云|如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose (linux.cn)

依次运行

1
2
3
`$ sudo apt update`
`$ sudo apt upgrade`
`$ sudo apt full-upgrade`

首先,安装必要的证书并允许 apt 包管理器使用以下命令通过 HTTPS 使用存储库:

1
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release

然后,运行下列命令添加 Docker 的官方 GPG 密钥:

1
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

添加 Docker 官方库:

1
$ echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

使用命令更新 Ubuntu 源列表:

1
$ sudo apt update

最后,运行下列命令在 Ubuntu 22.04 LTS 服务器中安装最新 Docker CE:

1
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

方式1

这里 下载最新 Docker Compose 。

当我在写这篇文章时,最新版本是 2.6.1

运行下列命令安装最新稳定的 Docker Compose 文件:

1
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.6.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

如果有更新版本,只需要将上述命令中的 v2.6.1 替换为最新的版本号即可。请不要忘记数字前的 “v”

最后,使用下列命令赋予二进制文件可执行权限:

1
$ sudo chmod +x /usr/local/bin/docker-compose

运行下列命令检查安装的 Docker Compose 版本:

1
$ docker-compose versionDocker Compose version v2.6.1

方式2

或许,我们可以使用 Pip 安装 Docker Compose 。Pip 是 Python 包管理器,用来安装使用 Python 编写的应用程序。

参考下列链接安装 Pip 。

安装 Pip 后,运行以下命令安装 Docker Compose。下列命令对于所有 Linux 发行版都是相同的!

1
$ pip install docker-compose

安装 Docker Compose 后,使用下列命令检查版本:

1
$ docker-compose --version

新增一条community地址,需要更新一下

apk update

安装 docker

apk add docker

设置 docker 开机启动服务

rc-update add docker boot

开始运行docker

service docker start

#使用阿里加速镜像
#sudo mkdir -p /etc/docker
#sudo tee /etc/docker/daemon.json <<-‘EOF’
#{

“registry-mirrors”: [“https://自己去阿里云申请,免费的”]

#}
#EOF

#推荐安装portainer管理docker
docker run -d -p 9000:9000 –restart=always -v /var/run/docker.sock:/var/run/docker.sock –name main-portainer portainer/portainer-ce

docker pull alpine

docker run -it –name alpine alpine

/ # apk add –update iproute2 curl iputils drill
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/main/x86_64/APKINDEX.tar.gz
fetch https://dl-cdn.alpinelinux.org/alpine/v3.14/community/x86_64/APKINDEX.tar.gz
(1/20) Installing ca-certificates (20191127-r5)
(2/20) Installing brotli-libs (1.0.9-r5)
(3/20) Installing nghttp2-libs (1.43.0-r0)
(4/20) Installing libcurl (7.77.0-r1)
(5/20) Installing curl (7.77.0-r1)
(6/20) Installing ldns (1.7.1-r1)
(7/20) Installing drill (1.7.1-r1)
(8/20) Installing iproute2 (5.12.0-r0)
Executing iproute2-5.12.0-r0.post-install
(9/20) Installing libbz2 (1.0.8-r1)
(10/20) Installing fts (1.2.7-r1)
(11/20) Installing xz-libs (5.2.5-r0)
(12/20) Installing libelf (0.182-r1)
(13/20) Installing libmnl (1.0.4-r1)
(14/20) Installing libnftnl-libs (1.2.0-r0)
(15/20) Installing iptables (1.8.7-r1)
(16/20) Installing iproute2-tc (5.12.0-r0)
(17/20) Installing iproute2-minimal (5.12.0-r0)
(18/20) Installing iproute2-ss (5.12.0-r0)
(19/20) Installing libcap (2.50-r0)
(20/20) Installing iputils (20210202-r0)
Executing busybox-1.33.1-r2.trigger
Executing ca-certificates-20191127-r5.trigger
OK: 14 MiB in 34 packages
/ #

设置允许计算机登录mysql服务器

mysql

M2d59ef9fe

允许任意计算机登录mysql服务器:GRANT ALL PRIVILEGES ON . TO ‘root‘@’%’ IDENTIFIED BY ‘root’ WITH GRANT OPTION;

1
2
3
4
5
6
mysql -uroot -p

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

FLUSH PRIVILEGES;

添加用户

以root用户登录数据库,运行以下命令:

1
create user yzht identified by 'Yzht8888-%$#';

查看用户

1
select User, Host, Password from mysql.user;

image-20210407095806727

授权

命令格式:grant privilegesCode on dbName.tableName to username@host identified by “password”;

1
2
grant all privileges on yzht.* to yzht@'%' identified by 'Yzht8888-%$#';
flush privileges;