Notion Blog
技术分享1 分钟阅读

docker搭建和常用命令

安装docker

设置存储库

安装软件包(提供实用程序)并设置存储库。yum-utilsyum-config-manager

$ sudo yum install -y yum-utils
$ sudo yum-config-manager --add-repo 

安装 Docker 引擎

安装 Docker Engine、containerd 和 Docker Compose:

最近的 特定版本


若要安装最新版本,请运行:

$ sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

如果系统提示您接受 GPG 密钥,请验证指纹是否匹配,如果匹配,请接受它。060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35

此命令安装 Docker,但不会启动 Docker。它还会创建一个组,但是,默认情况下它不会将任何用户添加到该组。docker


启动 Docker。
$ sudo systemctl start docker
通过运行映像来验证 Docker 引擎安装是否成功。hello-world
$ sudo docker run hello-world

此命令下载测试映像并在容器中运行它。当 容器运行,它打印确认消息并退出。

查看所有的容器命令如下:

$ docker ps -a

将镜像启动成容器,创建新的容器

在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash
docker run -it -d --name [container-name] -p 8088:80 [image-name]   指定端口运行,端口为容器运行程序需要端口
docker run -tid --name testjinkens --privileged=true -p 8088:80 centos: centos7 /sbin/init

将镜像启动成容器。

docker run -d \-name jk -u root \p 9090:8080 \
 /var/jenkinshome:/var/jenkinshome 
\jenkinsci/blueocean

说明:

1,–name 是指定生成的容器名称。

2,最好使用root启动,以免有权限问题而启动失败。

3,-p是端口的映射,冒号前是宿主机的端口,冒号后的是容器的端口。

4,-v将Jenkins容器的Jenkins_home映射到宿主机的目录中,实现数据持续化

PS:--privilaged=true一定要加上的。解决无法使用 systemd(systemctl) ,运行报错相关命令

删除容器

删除容器使用 docker rm 命令:

ocker rm -f 1e560fca3906

启动容器

使用 docker start 启动一个已停止的容器:

docker start b750bbbcfd88

exec 命令进入容器

下面演示了使用 docker exec 命令。

docker exec -it -u 0 243c32535da7 /bin/bash
u : 进入用户0表示root

exit命令退出容器不会停止运行

停止一个容器

停止容器的命令如下:

docker stop <容器 ID>

查看docker磁盘占用情况

查看所有容器(包括运行中和已停止)及其使用的磁盘空间概况:
docker system df
查看所有容器的详细磁盘使用情况,包括镜像、容器、卷等:
docker system df -v
查看单个正在运行容器占用的空间大小,显示当前写入层的数据量以及虚拟大小(包括共享的基础镜像层):
docker ps --size

运行容器添加自启

docker update --restart=always 容器id或容器名
-restart 参数详解

no 不自动重启容器(默认值)

on-failure 容器发生error而退出(容器退出状态不为0)时重启容器

unless-stopped 除在Docker守护进程启动(service docker start)时就已经停止的容器之外都启动

always 总是重启容器

将容器commit成为一个镜像

docker commit container-name new-image-name

导出和导入容器

导出容器

如果要导出本地某个容器,可以使用 docker export 命令。

docker export 1e560fca3906 > ubuntu.tar

docker 拷贝本地文件到容器

获取容器长id: docker inspect -f '{{.ID}}' 容器id

docker cp 你的文件路径 容器长ID:docker容器路径

有关使用上的问题,欢迎您在底部评论区留言,一起交流~

读者评论

评论会同步写入该文在 Notion 中的页面底部(与正文同页,便于管理)。

0/1500

暂无评论,欢迎抢沙发。