..
Docker操作
镜像
# 倒入镜像ubuntu
docker pull ubuntu
# 查看所有镜像
docker images
# REPOSITORY TAG IMAGE ID CREATED SIZE
# 删除镜像,需要处理使用镜像的容器才能正常删除
docker rmi [REPOSITORY]
docker rmi [IMAGE ID]
容器
# 查看所有容器
docker container ps -a
docker container ps -l
docker ps -a
docker ps -l
# 查看正在运行的容器
docker container ps
docker ps
#CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
#删除容器
docker rm [CONTAINER ID]
# 启动容器
docker start [CONTAINER ID]
docker restart [CONTAINER ID]
docker stop [CONTAINER ID]
# 进入容器
docker exec -it [CONTAINER ID] /bin/bash
#导出一个已经创建的容器到一个文件
docker export [容器ID]
# 导出的容器快照文件可以再导入为镜像
docker import [路径]
从镜像创建容器
docker run \
--name gitlablocal \ # 指定容器名为gitlablocal
--hostname gitlab \ # 发布域名叫gitlab,还需要配置域名绑定
-d \ # -d:容器在后台运行
-p 20080:80 \ # -p:指定端口映射,[宿主机端口]:[docker内端口]
-p 20022:22 \
--restart always \ # –restart always :电脑启动时自动启动
-v /data/gitlab/config:/etc/gitlab \ # -v: 文件目录映射,[宿主机目录]:[docker内目录]
--volume $GITLAB_HOME/data:/var/opt/gitlab \
gitlab/gitlab-ce # 镜像REPOSITORY
sudo docker cp CON_ID path
-v /home/shecannotsee/Desktop/docker_info/nginx_server/config/:/etc/nginx \
# -v /home/shecannotsee/Desktop/docker_info/nginx_server/log:/var/log/nginx \
# -v /home/shecannotsee/Desktop/docker_info/nginx_server/static_resources:/usr/share/nginx \
打包镜像
将镜像打包成.tar文件
docker save image_name -o /path/to/save/image.tar
将.tar文件加载为docker镜像
docker load -i /path/to/image.tar
Dockerfile
Dockerfile文件
# 使用ubuntu22.04,该镜像下可以直接安装g++11.3以提供c++20的开发环境
FROM ubuntu:22.04
ENV TZ=UTC
ENV LANG=en_US.UTF-8 \
LANGUAGE=en_US:en \
LC_ALL=en_US.UTF-8
# 安装c++开发环境
RUN apt-get update -y \
&& apt-get install -y vim cmake ssh g++ make cmake
创建镜像
# 镜像名指定为shecannotsee,查找Dockerfile的路径是.下查找
sudo docker build -t shecannotsee .
# 删除镜像
sudo docker rmi <id或者名称>
# 查看容器modern的ip,以便于后续ssh时使用
sudo docker inspect -f '' modern