docker安装与使用(含离线安装)

docker安装与使用

1、安装docker

1.1在线安装docker

1、使用 yum 命令在线安装

yum install docker:版本

2、查看docker版本

docker -v

3、启动与停止docker

启动 docker:systemctl start docker

停止 docker:systemctl stop docker

重启 docker:systemctl restart docker

查看 docker 状态:systemctl status docker

开机启动:systemctl enable docker

查看 docker 概要信息:docker info

查看 docker 帮助文档:docker --help

4、使用ustc镜像
编辑该文件:vi /etc/docker/daemon.json // 如果该文件不存在就手动创建,在该文件中输入如下内容:

{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

注意:一定要重启 docker 服务,如果重启 docker 后无法加速,可以重新启动 OS

1.1.1docker替换国内源

1、安装所需的软件包。yum-utils 提供了 yum-config-manager 实用程序,并且 devicemapper 存储驱动需要 device-mapper-persistent-data 和 lvm2。

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2、使用下列命令设置 stable 镜像仓库。您始终需要使用 stable 镜像仓库,即使您还需要通过 edge 或 testing 镜像仓库安装构建也是如此。这里给出的阿里云镜像源站。

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、更新 yum 软件包索引。

sudo yum makecache fast

4、安装最新版本的 Docker CE

sudo yum install -y docker-ce

5、启动 Docker

sudo systemctl start docker

6、验证是否正确安装了 docker

docker version

1.2离线安装docker

1.从官方下载Docker安装包并上传至虚拟机
2.解压安装包

tar -zxvf docker-19.03.5.tgz

3.将解压出来的docker文件内容移动到 /usr/bin/ 目录下

cp docker/* /usr/bin/

4.将docker注册为service服务

vim /etc/systemd/system/docker.service

将下列配置加到docker.service中并保存

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
 
[Service]
Type=notify
# the default is not to use systemd for cgroups because the delegate issues still
# exists and systemd currently does not support the cgroup feature set required
# for containers run by docker
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes
# kill only the docker process, not all processes in the cgroup
KillMode=process
# restart the docker process if it exits prematurely
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
 
[Install]
WantedBy=multi-user.target

5、启动docker

chmod +x /etc/systemd/system/docker.service #添加文件权限并启动docker
systemctl daemon-reload #重载unit配置文件
systemctl start docker #启动Docker
systemctl enable docker.service #设置开机自启

6、验证

systemctl status docker #查看Docker状态
docker -v #查看Docker版本

7、卸载离线docker(先停掉docker systemctl stop docker)

  • 删除/var/bin/docker
  • 删除/var/lib/docker
  • 删除/usr/bin/docker

Tips:

①忽略证书配置
ExecStart=/usr/bin/dockerd --insecure-registry Docker仓库IP:Docker端口号
②启动容器报错:
/usr/bin/docker-current: Error response from daemon: shim error: docker-runc not installed on system.
解决:
ln -s /usr/libexec/docker/docker-runc-current /usr/bin/docker-runc


2、docker相关命令

1、查看docker版本

docker -v

2、搜索镜像

docker search 镜像名称:版本

3、拉取镜像

docker pull 镜像名称:版本

4、删除镜像

docker rmi 镜像名称或镜像id

5、镜像备份与恢复

#备份镜像为文件
docker save 文件名称.tar 镜像名称或id
#恢复镜像
docker load -i 文件名称.tar
#容器保存为镜像
docker commit 容器名称 新的镜像名称

6、创建容器
创建容器常用的参数说明:
创建容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即分配一个伪终端。
–name :为创建的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。
-v /etc/localtime:/etc/localtime:让容器使用和服务器同样的时间设置。
-d:在 run 后面加上-d 参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p做多个端口映射
-e:表示传递环境变量
例如:

docker run -di -p 9876:9876 -v /root/namesrv/logs:/root/logs -v /root/namesrv/store:/root/store --name rmqnamesrv -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv

7、启动与停止容器

#启动容器
docker start 容器名称或id
#停止容器
docker stop 容器名称或id
#重启容器
docker restart 容器名称或id
#查看正在运行容器
docker ps
#查看所有容器
docker ps -a
#查看所有容器id
docker ps -a -q
#查看最后一次运行的容器:
docker ps –l
#查看停止的容器:
docker ps -f status=exited
#查看容器详细信息(虚拟ip,版本等)
docker inspect 容器名称或id
#已启动容器设置docker重启容器自动重启
docker update --restart=always 容器id或容器名

8、文件拷贝

  • 拷贝文件到容器内
    docker cp 需要拷贝的文件或目录 容器名称:容器目录
  • 也可以将文件从容器内拷贝出来
    docker cp 容器名称:容器目录 需要拷贝的文件或目录

9、目录挂载
创建容器 添加-v 参数 后边为 宿主机目录:容器目录

10、删除容器(删除前需先停止)

docker rm 容器名称或id

11、进入与退出容器

#进入容器
docker exec -it 容器名称 bash
#退出容器
exit

12、查看容器启动日志

docker logs -f 容器名称或id

3.docker启动springboot的jar程序

3.1在jar的同级目录创建Dockerfile文件

修改jar包名称authentication和springboot程序端口9050
文件保存为utf-8格式

FROM openjdk:8-jdk-alpine
VOLUME /tmp
COPY authentication.jar app.jar
EXPOSE 9050
ENTRYPOINT ["java", "-jar", "app.jar"]
3.2在jar和Dockerfile的同级目录下执行
#创建镜像(authentication为镜像名称),后面的点不要删!
docker build -t authentication .
#创建并运行容器
docker run --name authentication -d -p 9050:9050 authentication:latest --restart=always

4.查看容器挂载目录

docker inspect 容器名称或容器id | grep Mounts -A 20
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值