我的docker是安装在Ubuntu22.04虚拟机上的,不同的操作系统细微差别,请自行必应搜索。
Docker安装
- 更新apt数据源

- 下载依赖
1
|
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common -y
|

- 添加Docker的官方GPG密钥
从这里开始可以选择docker官方的密钥和仓库,也可以选择国内镜像(阿里云)
1
2
3
4
|
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 阿里云密钥
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
|

- 设置稳定仓库
1
2
3
4
|
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
# 阿里云仓库
sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
|

- 安装docker
1
|
sudo apt-get install docker-ce docker-ce-cli containerd.io
|

- 添加docker用户组,将登陆用户加入到docker用户组中,更新用户组
1
2
3
|
sudo groupadd docker
sudo gpasswd -a $USER docker
newgrp docker
|

- docker测试
1
|
sudo docker run hello-world
|

- 配置加速镜像和Cgroup,后面再docker使用过程中遇见了拉取镜像缓慢的问题,于是我又多加了几个镜像源。不过事后想想,可能是那几天校园网太卡的问题
1
|
sudo gedit /etc/docker/daemon.json
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
{
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://kfwkfulq.mirror.aliyuncs.com"
],
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
|

Docker简单使用
- 拉取nginx和tomcat的镜像
1
2
|
sudo docker pull nginx
sudo docker pull tomee
|

1
|
sudo docker network create testnet
|

- 启动 两个tomcat
创建两个目录,分别挂载到tomcat的跟目录上,内容可以调整,主要区分是哪个服务上的文件。
1
2
3
4
5
6
7
|
cd ~
sudo mkdir tomcatone
echo "tomcat onet" > index.html
sudo mkdir tomcattwo
sudo cp index.html tomcatone/
echo "tomcat two" > index.html
sudo cp index.html tomcattwo
|
运行容器
1
|
sudo docker run -id --name tomcatone -p 8088:8080 --network testnet --network-alias tomcatone -v $PWD/tomcatone:/usr/local/tomee/webapps/a tomee
|
查看网页显示如下

- 启动nginx,命令使用两次
1
|
sudo docker run -it -d -p 8080:80 --name web -v ~/nginx:/etc/nginx/conf.d -v ~/nginxweb:/usr/share/nginx/html --network testnet --network-alias nginxs nginx
|
刷新后网页显示如下
