FROM ubuntu RUN apt update RUN apt install -y wget bzip2 WORKDIR /opt RUN wget -O Mambaforge.sh "https://github.com/conda-forge/miniforge/releases/latest/download/Mambaforge-$(uname)-$(uname -m).sh" -O Mambaforge.sh RUN bash Mambaforge.sh -b -p /opt/miniconda ENV PATH="/opt/miniconda/bin:$PATH" #add channels RUN conda config --add channels defaults RUN conda config --add channels bioconda RUN conda config --add channels conda-forge # install dependencies # RUN apt-get --yes install default-jre RUN mamba install -c bioconda trimmomatic vsearch bedtools bowtie2 samtools diamond -y
图片alt
容器中的 HPC 工作负载:容器运行时间的比较
docker容器内⽆法ping通外部⽹络的解决办法 重新安装了docker之后,发现启动容器ping不通外⽹以及公司内部的虚拟机。 重新装⼀下docker的⽹卡之后顺利解决 #停⽌docker systemctl stop docker #docker0 ip link set dev docker0 down #删除docker0⽹桥 brctl delbr docker0 #新增⼀个docker0⽹桥 brctl addbr docker0 #增加⽹卡(这⾥ip也完全使⽤这个) ip addr add 172.16.10.0/24 dev docker0 #启⽤⽹卡 ip link set dev docker0 up #重启docker服务 systemctl restart docker
https://www.ibm.com/docs/en/z-logdata-analytics/5.1.0?topic=compose-relocating-docker-root-directory\
sudo systemctl stop docker sudo systemctl stop docker.socket sudo systemctl stop containerd sudo mv /var/lib/docker /new_dir_structure sudo vim /etc/docker/daemon.json
{ "data-root": "/new_dir_structure/docker" }
sudo systemctl start docker docker info -f '{{ .DockerRootDir}}'
docker run -itd --network net1 --hostname host1 --name test yourimage docker run -itd --network net1 --add-host=host1:172.18.0.3 --name test yourimage
# docker-compose.yml extra_hosts: - "host1:172.18.0.3" - "host2:172.18.0.4"
docker network connect bridge gitea
查看容器连接的网络
docker inspect 025
"Networks": { "bridge": { "IPAMConfig": {}, "Links": null, "Aliases": [], "NetworkID": "71c6e7141e4b0848662803e8b2e0c83e1a6ee878cfe2f08161b248f5afee6d7f", "EndpointID": "89dbee18d16739d241a31f45681ad5f696d7198a983f2a3a5e610b56807c85ab", "Gateway": "172.17.0.1", "IPAddress": "172.17.0.4", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:11:00:04", "DriverOpts": {} }, "gitea_gitea": { "IPAMConfig": null, "Links": null, "Aliases": [ "server", "0251c4e5f7e1" ], "NetworkID": "8d9e760814751086379bd8754b5434fbacd2f693b1af31a23699bb847c619c86", "EndpointID": "199aa7d4df631da4444d98632e188388051b1c5f480cdfeedb9e9b0d61cb2b27", "Gateway": "172.24.0.1", "IPAddress": "172.24.0.2", "IPPrefixLen": 16, "IPv6Gateway": "", "GlobalIPv6Address": "", "GlobalIPv6PrefixLen": 0, "MacAddress": "02:42:ac:18:00:02", "DriverOpts": null } }
sudo docker ps
docker stop amazing_cori
docker logs amazing_cori
docker ps -a
docker start b750bbbcfd88
docker exec -it <mycontainer> bash
into docker container's shell
export container
docker export 4cc8248434a1 > hello-world.tar
import container
docker import - new_hello_ward < hello-world.tar
docker images
sudo docker images
查看镜像
docker run -t -i ubuntu:15.10 /bin/bash
docker start container_id && docker exec -it container_id bash
使用版本为15.10的ubuntu系统镜像来运行容器
docker run httpd
获取镜像
运行镜像
docker search httpd
查找镜像
docker rmi hello-world
删除镜像
docker build -t some-content-nginx .
构建镜像
dcoker info
docker镜像存储位置
save image
dcoker images
docker save e0408b4b2f86 > new_hello_ward.tar
load image
docker load < new_hello_ward.tar
sudo docker run --name webserver -d -p 81:80 nginx
docker exec -it webserver bash echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html exit
https://cloud.sylabs.io/libraryhttps://hub.docker.com/https://biocontainers.pro/https://quay.io/
/var/lib/docker/volumes/cbioportal-docker-compose_cbioportal_mysql_data/_data
cbioportal-session-database: restart: unless-stopped image: mongo:3.7.9 container_name: cbioportal-session-database-container environment: MONGO_INITDB_DATABASE: session_service volumes: - cbioportal_mongo_data:/data/db networks: - cbio-net cbioportal-database: restart: unless-stopped image: mysql:5.7 container_name: cbioportal-database-container environment: MYSQL_DATABASE: cbioportal MYSQL_USER: cbio_user MYSQL_PASSWORD: somepassword MYSQL_ROOT_PASSWORD: somepassword volumes: - ./data/cgds.sql:/docker-entrypoint-initdb.d/cgds.sql:ro - ./data/seed.sql.gz:/docker-entrypoint-initdb.d/seed.sql.gz:ro - cbioportal_mysql_data:/var/lib/mysql networks: - cbio-net networks: cbio-net: volumes: cbioportal_mysql_data: cbioportal_mongo_data:
docker-compose exec cbioportal-database \ sh -c 'mysql -hcbioportal-database -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" "$MYSQL_DATABASE"'
主机访问容器数据库
sudo docker-compose run -d -p 3307:3306 --name cbioportal-database cbioportal-database
docker删除所有未使用的镜像docker image prunedocker删除所有未使用的容器(删除所有处于非运行状态的容器)docker container prunedocker删除所有未使用的网络docker network prune
创建或修改 /etc/docker/daemon.json 文件,修改为如下形式
{ "registry-mirrors": [ "https://registry.docker-cn.com", "http://hub-mirror.c.163.com", "https://docker.mirrors.ustc.edu.cn" ] }
docker run -d configserver tail -f /dev/null 或者 docker run -d configserver /bin/bash ping 127.0.0.1 或者 docker run -d configserver /bin/bash -c "while true;do echo hello docker;sleep 1;done"
https://docs.docker.com/engine/install/ubuntu/https://www.runoob.com/docker/docker-dockerfile.htmlhttps://blog.csdn.net/y472360651/article/details/81289128https://github.com/cBioPortal/cbioportal-docker-composemysql数据备份https://jingyan.baidu.com/article/0eb457e55f33fc42f1a905b6.html在 Docker 容器中运行 GATKSingularityDocker vs. Singularity for data processing: UIDs and filesystem access