docker笔记

docker笔记

docker 拉取ubuntu镜像

docker pull ubuntu

查看本地镜像

docker images

运行容器

docker run -itd --name ubuntu-test ubuntu

创建容器常用的参数说明:

创建容器命令:docker run
 -i:表示运行容器
 -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
 --name :为创建的容器命名。
 -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
 -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t两个参数,创建后就会自动进去容器)。
 -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射 

查看容器运行状态

docker ps

进入docker镜像(id使用docker ps命令查看)

docker exec -it [imageid] bash

停止容器

docker stop [imageid]

杀死容器

docker kill [imageid]

删除容器

docker rm [imageid]

docker安装MySQL

下载MySQL8.0的镜像

docker pull mysql:8.0

启动MySQL

docker run --name mysql8 -p 3306:3306 -v /home/ashen/dockers/mysql8/conf:/etc/mysql/conf.d -v /home/ashen/dockers/mysql8/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=asd123 -d mysql:8.0

其中mysql8为我自定义的容器名字,3306主机端口映射3306,两个目录进行映射实现持久化,添加环境变量,root密码为asd123,使用的镜像为mysql:8.0
使用exec进入镜像

docker exec -it mysql8 bash

docker安装Redis

新建文件和文件夹(ashen是我的用户名)

mkdir -p /home/ashen/dockers/redis/conf
vim /home/ashen/dockers/redis/conf/redis.conf
mkdir -p /home/ashen/dockers/redis/data

启动Redis

docker run --privileged=true -p 6379:6379 -v /home/ashen/dockers/redis/data:/data \
-v /home/ashen/dockers/redis/conf/redis.conf:/etc/redis/redis.conf --name redis \
--restart=always -d redis redis-server /etc/redis/redis.conf --appendonly yes

docker exec -it redis redis-cli

普通用户添加至docker组(修改后不需要sudo命令调用docker)

首先创建docker用户组

sudo groupadd docker

把当前用户添加进docker组中

sudo gpasswd -a ${USER} docker

重启docker

sudo service docker restart

如果普通用户执行docker命令,如果提示get …… dial unix /var/run/docker.sock权限不够,则修改/var/run/docker.sock权限

sudo chmod a+rw /var/run/docker.sock

docker下mysql设置开机自启

docker update mysql --restart=always

springboot使用docker部署

springboot新建Dockerfile文件

FROM openjdk:8

MAINTAINER ashen

VOLUME /tmp 

ENV LANG C.UTF-8

ADD java-website-boot-0.0.1-SNAPSHOT.jar test.har
# 运行jar包
RUN bash -c 'touch /test.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/test.jar"]

maven生成jar后将Dockerfile放在同一目录下,运行命令

docker build . -d [镜像名字]:[版本号]

运行命令查看本地镜像

docker images

一些解决方案

修改docker容器的端口
https://blog.csdn.net/qq_29183811/article/details/123532062

posted @ 2022-11-12 17:04  听风逐浪  阅读(44)  评论(0编辑  收藏  举报