docker
标签(空格分隔): 文档 备注
ubuntu下安装docker(命令安装) sudo apt install docker.io
- docker version 显示 Docker 版本信息
- docker info 显示 Docker 系统信息,包括镜像和容器数
ubuntu下安装docker(官网步骤 https://docs.docker.com/install/linux/docker-ce/ubuntu/)
(以下每步全部复制以执行)
1.sudo apt-get update
2.sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
3. curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. apt-key fingerprint 0EBFCD88
5. sudo add-apt-repository
“deb [arch=amd64] https://download.docker.com/linux/ubuntu
$(lsb_release -cs)
stable”
6. sudo apt-get update
7. sudo apt-get install docker-ce docker-ce-cli containerd.io
8. apt-cache madison docker-ce
9. sudo apt-get install docker-ce=<VERSION_STRING> docker-ce-cli=<VERSION_STRING> containerd.io
10. sudo docker run hello-world
修改Docker默认镜像和容器存储
在data/目录下新建docker/目录
cd /etc/systemd/system/multi-user.target.wants
vim docker.service
在ExecStart=/usr/bin/dockerd 后面添加 --graph=/data/docker
(如:ExecStart=/usr/bin/dockerd --graph=/data/docker -H fd:// --containerd=/run/containerd/containerd.sock)
重启Docker
systemctl daemon-reload
systemctl restart docker
查看Docker信息
docker info
查看镜像 或 容器 信息
docker inspect [容器id/镜像id]
扩展
ps -ef | grep java | wc -l // 查询最大端口号
tail -f /logs/bj-stu-server-0.0.1-SNAPSHOT.jar-web.log
mvn clean && mvn package docker:build // 打包推送docker
ls -l // 查看文件目录
docker ps //显示所有的容器
docker rmi 5c87591d4983 // 删除镜像
docker logs -f 0f241b72d05505173e5dd7ae2552f430e0edee4749b7f936ac9a130002d3a725 // 查看日志
docker ps -a|grep appoitm //显示所有的容器,包括未运行的。
docker -h // 帮助
docker rm d0632f6a5e48 // 删除容器
docker images|grep name // 查看镜像文件
docker run -itd --name file-upload-server -v /app/pttms:/app/pttms -p 7055:7055 192.168.20.148:5000/datababy/file-upload-server
docker run -itd --name login -p 8083:8083 192.168.20.148:5000/datababy/cloud:1.0-SNAPSHOT
docker run -itd --name eureka-node2 -p 8762:8762 192.168.20.148:5000/datababy/eureka-node2
docker run -itd --name appoitment-server 192.168.20.148:5000/datababy/appoitment-server // 运行项目
/opt/angular-code/apache-tomcat-8.5.20/bin // 前端项目打包位置
java -jar eureka_register_service_matser-1.0.0.jar --spring.profiles.active=matser
java -jar eureka_register_service_backup-1.0.0.jar --spring.profiles.active=backup
rpm -ivh 安装
ubuntu下使用docker启动 jar包 服务
使用docker启动项目(需手动上传jar到start.sh 目录下)
a.在某个目录下放如下三个文件
b.start.sh 文件内容:
nginx子配置的内容
docker stop app-api-server
docker rm app-api-server
docker rmi app-api-server:0.1
docker build -t app-api-server:0.1 .
docker run -d -e PROFILE=dev -e JAVA_OPTS=-server -p 9292:9292 --name app-api-server app-api-server:0.1
c. Dockerfile文件内容:
FROM docker.io/openjdk:8
ADD api-0.0.1-SNAPSHOT.jar app.jar
ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
ENTRYPOINT java
J
A
V
A
O
P
T
S
−
D
j
a
v
a
.
s
e
c
u
r
i
t
y
.
e
g
d
=
f
i
l
e
:
/
d
e
v
/
.
/
u
r
a
n
d
o
m
−
j
a
r
/
a
p
p
.
j
a
r
−
−
s
p
r
i
n
g
.
p
r
o
f
i
l
e
s
.
a
c
t
i
v
e
=
{JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /app.jar --spring.profiles.active=
JAVAOPTS−Djava.security.egd=file:/dev/./urandom−jar/app.jar−−spring.profiles.active={PROFILE}
运行start.sh
./start.sh
补充
配置文件中的PROFILE=pro为项目中的配置文件(pro指使用application-pro.properties配置文件)
扩展
#将文件映射到物理路径,以免重启docker容器后文件被干掉
#docker run -d -v /data/user-upload-file/:/nas/file/upload -v /data/logs/server:/log -p 9715:9715 --name file-server file-server:1.0
#docker run -d -e PROFILE=dev -e JAVA_OPTS=-server --network host -p 9292:8080 --name app-api-server app-api-server:0.1
docker logs -f app-api-server
无需打包方式(直接运行脚本 dev_start.sh)
dev_start.sh内容:
git checkout dev
git pull
mvn clean
ignore test example
mvn package -DskipTests
docker stop app-api-server
docker rm app-api-server
docker rmi app-api-server:0.1
pwd
cd api/
pwd
ls
cp Dockerfile ./target/
cd target/
pwd
ls
docker build -t app-api-server:0.1 .
docker run -d -e PROFILE=dev -e JAVA_OPTS=-server -p 9292:9292 --name app-api-server app-api-server:0.1
#docker run -d -e PROFILE=dev -e JAVA_OPTS=-server --network host -p 9292:8080 --name app-api-server app-api-server:0.1
docker logs -f app-api-server